{"version":3,"file":"static/js/main.e79e0f51.js","mappings":"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,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,QAAS,CACL,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,QAAS,CACL,IACA,IACA,KACA,MAEJ,QAAS,CACL,IACA,IACA,KACA,MAEJ,QAAS,CACL,IACA,IACA,KACA,MAEJ,QAAS,CACL,IACA,IACA,KACA,MAEJ,QAAS,CACL,IACA,IACA,KACA,MAEJ,QAAS,CACL,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,SAAU,CACN,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,SAAU,CACN,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,QAAS,CACL,IACA,KACA,KACA,KAEJ,GAAM,CACF,KACA,KAEJ,GAAM,CACF,KACA,KAEJ,QAAS,CACL,KACA,IACA,KAEJ,QAAS,CACL,KACA,IACA,KAEJ,QAAS,CACL,KACA,IACA,KAEJ,QAAS,CACL,KACA,IACA,KAEJ,GAAM,CACF,KACA,IACA,IACA,MAEJ,QAAS,CACL,KACA,IACA,KACA,KAEJ,GAAM,CACF,KACA,KACA,IACA,KAEJ,GAAM,CACF,KACA,KACA,IACA,KAEJ,GAAM,CACF,KACA,KACA,IACA,KAEJ,QAAS,CACL,KACA,KACA,IACA,KAEJ,QAAS,CACL,KACA,KACA,IACA,KAEJ,QAAS,CACL,KACA,KACA,IACA,KAEJ,GAAM,CACF,KACA,KACA,IACA,KAEJ,GAAM,CACF,KACA,KACA,IACA,KAEJ,GAAM,CACF,KACA,KACA,IACA,KAEJ,GAAM,CACF,KACA,KACA,IACA,KAEJ,GAAM,CACF,KACA,KACA,IACA,MEzwCR,SAASC,GAA+BjrE,GACpC,IAAIsoE,EAAYtoE,EAAOsoE,UASvB,QARkBjrF,IAAdirF,GAEAtoE,EAAOkrE,YAEPlrE,EAAOkrE,WAAWnwF,SAElButF,EAAYtoE,EAAOkrE,WAAW,IAE9B5C,EACA,OAAQA,GACJ,IAAK,MACD,MAAO,IACX,IAAK,MACD,MAAO,IACX,IAAK,MACD,MAAO,IACX,IAAK,MACD,MAAO,IACX,QACI,MAAM,IAAIjhF,MAAM,qBAI5B,IACI8jF,EADAC,EAAcprE,EAAOqrE,SASzB,MAPoB,SAAhBD,IACAD,EAAYnrE,EAAOsrE,WAAWC,SAEjBP,GAASG,GAAa,KACnCH,GAASI,GAAe,KACxBJ,GAAS,GAAGxiE,OAAO4iE,EAAa,UAChCJ,GAAS,QACK,GD1EtB,IAAIQ,GAA8B,IAAIC,OAAO,IAAIjjE,OAAOo/D,GAAsB5sF,OAAQ,MAClF0wF,GAA4B,IAAID,OAAO,GAAGjjE,OAAOo/D,GAAsB5sF,OAAQ,OACnF,SAAS2wF,GAAehmE,EAAOtjB,GAC3B,MAAO,CAAEsjB,MAAOA,EAAOtjB,IAAKA,GAIhC,IAAIupF,KAAwBjsE,OAAOzkB,UAAUiuD,WACzC0iC,KAA2BlsE,OAAOmsE,cAClCC,KAAyBtxF,OAAOuxF,YAChCC,KAAyBtsE,OAAOzkB,UAAUgxF,YAC1CC,KAAiBxsE,OAAOzkB,UAAUkxF,UAClCC,KAAe1sE,OAAOzkB,UAAUoxF,QAEhCC,KAD2BtlC,OAAOslC,cAEhCtlC,OAAOslC,cACP,SAAU75E,GACR,MAAqB,kBAANA,GACX85E,SAAS95E,IACT8C,KAAKm7B,MAAMj+B,KAAOA,GAClB8C,KAAK0zC,IAAIx2C,IAAM,kBAGvB+5E,IAAyB,EAC7B,IAQIA,GAA8F,OAA5C,QAAvB/6C,GAPlBg7C,GAAG,4CAA6C,MAOtB1sB,KAAK,YAAyB,IAAPtuB,QAAgB,EAASA,GAAG,IAE1F,MAAO9uC,IACH6pF,IAAyB,EAE7B,IAyFIE,GAzFAxjC,GAAayiC,GAET,SAAoB16C,EAAGruB,EAAQ24C,GAC3B,OAAOtqB,EAAEiY,WAAWtmC,EAAQ24C,IAGhC,SAAoBtqB,EAAGruB,EAAQ24C,GAC3B,OAAOtqB,EAAE5rC,MAAMk2D,EAAUA,EAAW34C,EAAO9nB,UAAY8nB,GAE/DipE,GAAgBD,GACdlsE,OAAOmsE,cAEL,WAEI,IADA,IAAIc,EAAa,GACRn3C,EAAK,EAAGA,EAAK36C,UAAUC,OAAQ06C,IACpCm3C,EAAWn3C,GAAM36C,UAAU26C,GAM/B,IAJA,IAGI51B,EAHAgtE,EAAW,GACX9xF,EAAS6xF,EAAW7xF,OACpBF,EAAI,EAEDE,EAASF,GAAG,CAEf,IADAglB,EAAO+sE,EAAW/xF,MACP,QACP,MAAMqtF,WAAWroE,EAAO,8BAC5BgtE,GACIhtE,EAAO,MACDF,OAAOC,aAAaC,GACpBF,OAAOC,aAAyC,QAA1BC,GAAQ,QAAY,IAAeA,EAAO,KAAS,OAEvF,OAAOgtE,GAEfb,GAEJD,GACMtxF,OAAOuxF,YAEL,SAAqBpf,GAEjB,IADA,IAAIpxE,EAAM,GACDi6C,EAAK,EAAGq3C,EAAYlgB,EAASn3B,EAAKq3C,EAAU/xF,OAAQ06C,IAAM,CAC/D,IAAI/D,EAAKo7C,EAAUr3C,GAAKvtC,EAAIwpC,EAAG,GAAIhoB,EAAIgoB,EAAG,GAC1Cl2C,EAAI0M,GAAKwhB,EAEb,OAAOluB,GAEf0wF,GAAcD,GAEV,SAAqB/6C,EAAGzb,GACpB,OAAOyb,EAAEg7C,YAAYz2D,IAGzB,SAAqByb,EAAGzb,GACpB,IAAIoJ,EAAOqS,EAAEn2C,OACb,KAAI06B,EAAQ,GAAKA,GAASoJ,GAA1B,CAGA,IACI4pD,EADAsE,EAAQ77C,EAAE4V,WAAWrxB,GAEzB,OAAOs3D,EAAQ,OACXA,EAAQ,OACRt3D,EAAQ,IAAMoJ,IACb4pD,EAASv3C,EAAE4V,WAAWrxB,EAAQ,IAAM,OACrCgzD,EAAS,MACPsE,EAC4BtE,EAAS,OAAnCsE,EAAQ,OAAW,IAA0B,QAE7DX,GAAYD,GAER,SAAmBj7C,GACf,OAAOA,EAAEk7C,aAGb,SAAmBl7C,GACf,OAAOA,EAAExuC,QAAQ8oF,GAA6B,KAEtDc,GAAUD,GAEN,SAAiBn7C,GACb,OAAOA,EAAEo7C,WAGb,SAAiBp7C,GACb,OAAOA,EAAExuC,QAAQgpF,GAA2B,KAGxD,SAASgB,GAAGx7C,EAAG87C,GACX,OAAO,IAAIvB,OAAOv6C,EAAG87C,GAIzB,GAAIP,GAAwB,CAExB,IAAIQ,GAAyBP,GAAG,4CAA6C,MAC7EC,GAAyB,SAAgCz7C,EAAGzb,GACxD,IAAIic,EAGJ,OAFAu7C,GAAuBC,UAAYz3D,EAER,QAAnBic,EADIu7C,GAAuBjtB,KAAK9uB,GACrB,UAAuB,IAAPQ,EAAgBA,EAAK,SAK5Di7C,GAAyB,SAAgCz7C,EAAGzb,GAExD,IADA,IAAIjuB,EAAQ,KACC,CACT,IAAIhE,EAAI0oF,GAAYh7C,EAAGzb,GACvB,QAAUp4B,IAANmG,GAAmB2pF,GAAc3pF,IAAM4pF,GAAiB5pF,GACxD,MAEJgE,EAAMsK,KAAKtO,GACXiyB,GAASjyB,GAAK,MAAU,EAAI,EAEhC,OAAOsoF,GAAcxwF,WAAM,EAAQkM,IAG3C,IAAI6lF,GAAwB,WACxB,SAASA,EAAO3wD,EAASzxB,QACL,IAAZA,IAAsBA,EAAU,IACpC1P,KAAKmhC,QAAUA,EACfnhC,KAAKigE,SAAW,CAAEr9D,OAAQ,EAAGmvF,KAAM,EAAGC,OAAQ,GAC9ChyF,KAAKiyF,YAAcviF,EAAQuiF,UAC3BjyF,KAAKykB,OAAS/U,EAAQ+U,OACtBzkB,KAAKkyF,sBAAwBxiF,EAAQwiF,oBACrClyF,KAAKmyF,uBAAyBziF,EAAQyiF,qBAsyB1C,OApyBAL,EAAOnyF,UAAUq2C,MAAQ,WACrB,GAAsB,IAAlBh2C,KAAK4C,SACL,MAAMkJ,MAAM,gCAEhB,OAAO9L,KAAKoyF,aAAa,EAAG,IAAI,IAEpCN,EAAOnyF,UAAUyyF,aAAe,SAAUC,EAAcC,EAAeC,GAEnE,IADA,IAAIjB,EAAW,IACPtxF,KAAKwyF,SAAS,CAClB,IAAIxjE,EAAOhvB,KAAKgvB,OAChB,GAAa,MAATA,EAAwB,CAExB,IADIquB,EAASr9C,KAAKyyF,cAAcJ,EAAcE,IACnCzgD,IACP,OAAOuL,EAEXi0C,EAAS/6E,KAAK8mC,EAAOj6C,SAEpB,IAAa,MAAT4rB,GAA0BqjE,EAAe,EAC9C,MAEC,GAAa,KAATrjE,GACc,WAAlBsjE,GAAgD,kBAAlBA,EAQ9B,IAAa,KAATtjE,IACJhvB,KAAKiyF,WACU,KAAhBjyF,KAAK0yF,OACP,CACE,GAAIH,EACA,MAGA,OAAOvyF,KAAKshC,MAAM2pD,GAAU0H,sBAAuBvC,GAAepwF,KAAK4yF,gBAAiB5yF,KAAK4yF,kBAGhG,GAAa,KAAT5jE,IACJhvB,KAAKiyF,WACNY,GAAS7yF,KAAK0yF,QAAU,GAAI,CAE5B,IADIr1C,EAASr9C,KAAK8yF,SAAST,EAAcC,IAC9BxgD,IACP,OAAOuL,EAEXi0C,EAAS/6E,KAAK8mC,EAAOj6C,SAEpB,CACD,IAAIi6C,EACJ,IADIA,EAASr9C,KAAK+yF,aAAaV,EAAcC,IAClCxgD,IACP,OAAOuL,EAEXi0C,EAAS/6E,KAAK8mC,EAAOj6C,UAjC8C,CACnE,IAAI68D,EAAWjgE,KAAK4yF,gBACpB5yF,KAAKgzF,OACL1B,EAAS/6E,KAAK,CACVhN,KAAM2hF,GAAKc,MACXznE,SAAU6rE,GAAenwB,EAAUjgE,KAAK4yF,qBA+BpD,MAAO,CAAExvF,IAAKkuF,EAAUx/C,IAAK,OAoBjCggD,EAAOnyF,UAAUmzF,SAAW,SAAUT,EAAcC,GAChD,IAAIW,EAAgBjzF,KAAK4yF,gBACzB5yF,KAAKgzF,OACL,IAAI93D,EAAUl7B,KAAKkzF,eAEnB,GADAlzF,KAAKmzF,YACDnzF,KAAKozF,OAAO,MAEZ,MAAO,CACHhwF,IAAK,CACDmG,KAAM2hF,GAAKG,QACX9mF,MAAO,IAAI0oB,OAAOiO,EAAS,MAC3B3W,SAAU6rE,GAAe6C,EAAejzF,KAAK4yF,kBAEjD9gD,IAAK,MAGR,GAAI9xC,KAAKozF,OAAO,KAAM,CACvB,IAAIC,EAAiBrzF,KAAKoyF,aAAaC,EAAe,EAAGC,GAAe,GACxE,GAAIe,EAAevhD,IACf,OAAOuhD,EAEX,IAAIrjF,EAAWqjF,EAAejwF,IAE1BkwF,EAAsBtzF,KAAK4yF,gBAC/B,GAAI5yF,KAAKozF,OAAO,MAAO,CACnB,GAAIpzF,KAAKwyF,UAAYK,GAAS7yF,KAAKgvB,QAC/B,OAAOhvB,KAAKshC,MAAM2pD,GAAUsI,YAAanD,GAAekD,EAAqBtzF,KAAK4yF,kBAEtF,IAAIY,EAA8BxzF,KAAK4yF,gBAEvC,OAAI13D,IADiBl7B,KAAKkzF,eAEflzF,KAAKshC,MAAM2pD,GAAU0H,sBAAuBvC,GAAeoD,EAA6BxzF,KAAK4yF,mBAExG5yF,KAAKmzF,YACAnzF,KAAKozF,OAAO,KAGV,CACHhwF,IAAK,CACDmG,KAAM2hF,GAAKl+E,IACXzI,MAAO22B,EACPlrB,SAAUA,EACVuU,SAAU6rE,GAAe6C,EAAejzF,KAAK4yF,kBAEjD9gD,IAAK,MATE9xC,KAAKshC,MAAM2pD,GAAUsI,YAAanD,GAAekD,EAAqBtzF,KAAK4yF,mBAatF,OAAO5yF,KAAKshC,MAAM2pD,GAAUwI,aAAcrD,GAAe6C,EAAejzF,KAAK4yF,kBAIjF,OAAO5yF,KAAKshC,MAAM2pD,GAAUsI,YAAanD,GAAe6C,EAAejzF,KAAK4yF,mBAMpFd,EAAOnyF,UAAUuzF,aAAe,WAC5B,IAAIQ,EAAc1zF,KAAK4C,SAEvB,IADA5C,KAAKgzF,QACGhzF,KAAKwyF,SAAWmB,GAA4B3zF,KAAKgvB,SACrDhvB,KAAKgzF,OAET,OAAOhzF,KAAKmhC,QAAQp3B,MAAM2pF,EAAa1zF,KAAK4C,WAEhDkvF,EAAOnyF,UAAUozF,aAAe,SAAUV,EAAcC,GAGpD,IAFA,IAAIloE,EAAQpqB,KAAK4yF,gBACbruF,EAAQ,KACC,CACT,IAAIqvF,EAAmB5zF,KAAK6zF,cAAcvB,GAC1C,GAAIsB,EACArvF,GAASqvF,MADb,CAIA,IAAIE,EAAsB9zF,KAAK+zF,iBAAiB1B,EAAcC,GAC9D,GAAIwB,EACAvvF,GAASuvF,MADb,CAIA,IAAIE,EAAuBh0F,KAAKi0F,2BAChC,IAAID,EAIJ,MAHIzvF,GAASyvF,IAKjB,IAAIzvE,EAAW6rE,GAAehmE,EAAOpqB,KAAK4yF,iBAC1C,MAAO,CACHxvF,IAAK,CAAEmG,KAAM2hF,GAAKG,QAAS9mF,MAAOA,EAAOggB,SAAUA,GACnDutB,IAAK,OAGbggD,EAAOnyF,UAAUs0F,yBAA2B,WACxC,OAAKj0F,KAAKwyF,SACU,KAAhBxyF,KAAKgvB,SACJhvB,KAAKiyF,YAooBPY,GADcqB,EAjoBQl0F,KAAK0yF,QAAU,IAkoBA,KAAdwB,GA9nBnB,MAHHl0F,KAAKgzF,OACE,KA+nBnB,IAAyBkB,GAtnBrBpC,EAAOnyF,UAAUk0F,cAAgB,SAAUvB,GACvC,GAAItyF,KAAKwyF,SAA2B,KAAhBxyF,KAAKgvB,OACrB,OAAO,KAIX,OAAQhvB,KAAK0yF,QACT,KAAK,GAID,OAFA1yF,KAAKgzF,OACLhzF,KAAKgzF,OACE,IAEX,KAAK,IACL,KAAK,GACL,KAAK,GACL,KAAK,IACD,MACJ,KAAK,GACD,GAAsB,WAAlBV,GAAgD,kBAAlBA,EAC9B,MAEJ,OAAO,KACX,QACI,OAAO,KAEftyF,KAAKgzF,OACL,IAAI3B,EAAa,CAACrxF,KAAKgvB,QAGvB,IAFAhvB,KAAKgzF,QAEGhzF,KAAKwyF,SAAS,CAClB,IAAIp6D,EAAKp4B,KAAKgvB,OACd,GAAW,KAAPoJ,EAAqB,CACrB,GAAoB,KAAhBp4B,KAAK0yF,OAKJ,CAED1yF,KAAKgzF,OACL,MAPA3B,EAAW96E,KAAK,IAEhBvW,KAAKgzF,YAST3B,EAAW96E,KAAK6hB,GAEpBp4B,KAAKgzF,OAET,OAAOzC,GAAcxwF,WAAM,EAAQsxF,IAEvCS,EAAOnyF,UAAUo0F,iBAAmB,SAAU1B,EAAcC,GACxD,GAAItyF,KAAKwyF,QACL,OAAO,KAEX,IAAIp6D,EAAKp4B,KAAKgvB,OACd,OAAW,KAAPoJ,GACO,MAAPA,GACQ,KAAPA,IACsB,WAAlBk6D,GAAgD,kBAAlBA,IAC3B,MAAPl6D,GAAwBi6D,EAAe,EACjC,MAGPryF,KAAKgzF,OACEzC,GAAcn4D,KAG7B05D,EAAOnyF,UAAU8yF,cAAgB,SAAUJ,EAAcE,GACrD,IAAI4B,EAAuBn0F,KAAK4yF,gBAGhC,GAFA5yF,KAAKgzF,OACLhzF,KAAKmzF,YACDnzF,KAAKwyF,QACL,OAAOxyF,KAAKshC,MAAM2pD,GAAUmJ,8BAA+BhE,GAAe+D,EAAsBn0F,KAAK4yF,kBAEzG,GAAoB,MAAhB5yF,KAAKgvB,OAEL,OADAhvB,KAAKgzF,OACEhzF,KAAKshC,MAAM2pD,GAAUoJ,eAAgBjE,GAAe+D,EAAsBn0F,KAAK4yF,kBAG1F,IAAIruF,EAAQvE,KAAKs0F,4BAA4B/vF,MAC7C,IAAKA,EACD,OAAOvE,KAAKshC,MAAM2pD,GAAUsJ,mBAAoBnE,GAAe+D,EAAsBn0F,KAAK4yF,kBAG9F,GADA5yF,KAAKmzF,YACDnzF,KAAKwyF,QACL,OAAOxyF,KAAKshC,MAAM2pD,GAAUmJ,8BAA+BhE,GAAe+D,EAAsBn0F,KAAK4yF,kBAEzG,OAAQ5yF,KAAKgvB,QAET,KAAK,IAED,OADAhvB,KAAKgzF,OACE,CACH5vF,IAAK,CACDmG,KAAM2hF,GAAKK,SAEXhnF,MAAOA,EACPggB,SAAU6rE,GAAe+D,EAAsBn0F,KAAK4yF,kBAExD9gD,IAAK,MAIb,KAAK,GAGD,OAFA9xC,KAAKgzF,OACLhzF,KAAKmzF,YACDnzF,KAAKwyF,QACExyF,KAAKshC,MAAM2pD,GAAUmJ,8BAA+BhE,GAAe+D,EAAsBn0F,KAAK4yF,kBAElG5yF,KAAKw0F,qBAAqBnC,EAAcE,EAAmBhuF,EAAO4vF,GAE7E,QACI,OAAOn0F,KAAKshC,MAAM2pD,GAAUsJ,mBAAoBnE,GAAe+D,EAAsBn0F,KAAK4yF,oBAOtGd,EAAOnyF,UAAU20F,0BAA4B,WACzC,IAAIG,EAAmBz0F,KAAK4yF,gBACxBc,EAAc1zF,KAAK4C,SACnB2B,EAAQ6sF,GAAuBpxF,KAAKmhC,QAASuyD,GAC7CgB,EAAYhB,EAAcnvF,EAAM/E,OAIpC,OAHAQ,KAAK20F,OAAOD,GAGL,CAAEnwF,MAAOA,EAAOggB,SADR6rE,GAAeqE,EADZz0F,KAAK4yF,mBAI3Bd,EAAOnyF,UAAU60F,qBAAuB,SAAUnC,EAAcE,EAAmBhuF,EAAO4vF,GACtF,IAAIh+C,EAIAy+C,EAAoB50F,KAAK4yF,gBACzBiC,EAAU70F,KAAKs0F,4BAA4B/vF,MAC3CuwF,EAAkB90F,KAAK4yF,gBAC3B,OAAQiC,GACJ,IAAK,GAED,OAAO70F,KAAKshC,MAAM2pD,GAAU8J,qBAAsB3E,GAAewE,EAAmBE,IACxF,IAAK,SACL,IAAK,OACL,IAAK,OAID90F,KAAKmzF,YACL,IAAI6B,EAAmB,KACvB,GAAIh1F,KAAKozF,OAAO,KAAM,CAClBpzF,KAAKmzF,YACL,IAAI8B,EAAqBj1F,KAAK4yF,gBAE9B,IADIv1C,EAASr9C,KAAKk1F,iCACPpjD,IACP,OAAOuL,EAGX,GAAqB,KADjB15C,EAAQotF,GAAQ1zC,EAAOj6C,MACjB5D,OACN,OAAOQ,KAAKshC,MAAM2pD,GAAUkK,sBAAuB/E,GAAepwF,KAAK4yF,gBAAiB5yF,KAAK4yF,kBAGjGoC,EAAmB,CAAErxF,MAAOA,EAAOyxF,cADfhF,GAAe6E,EAAoBj1F,KAAK4yF,kBAIhE,IADIyC,EAAiBr1F,KAAKs1F,sBAAsBnB,IAC7BriD,IACf,OAAOujD,EAEX,IAAIE,EAAanF,GAAe+D,EAAsBn0F,KAAK4yF,iBAE3D,GAAIoC,GAAoBpnC,GAAgC,OAArBonC,QAAkD,IAArBA,OAA8B,EAASA,EAAiBrxF,MAAO,KAAM,GAAI,CAErI,IAAI6oF,EAAWqE,GAAUmE,EAAiBrxF,MAAMoG,MAAM,IACtD,GAAgB,WAAZ8qF,EAEA,OADIx3C,EAASr9C,KAAKw1F,8BAA8BhJ,EAAUwI,EAAiBI,gBAChEtjD,IACAuL,EAEJ,CACHj6C,IAAK,CAAEmG,KAAM2hF,GAAK/jE,OAAQ5iB,MAAOA,EAAOggB,SAAUgxE,EAAY5xF,MAAO05C,EAAOj6C,KAC5E0uC,IAAK,MAIT,GAAwB,IAApB06C,EAAShtF,OACT,OAAOQ,KAAKshC,MAAM2pD,GAAUwK,0BAA2BF,GAE3D,IAAIG,EAAkBlJ,EAIlBxsF,KAAKykB,SACLixE,EC1hBrB,SAAwBlJ,EAAU/nE,GAErC,IADA,IAAIkxE,EAAe,GACVC,EAAa,EAAGA,EAAapJ,EAAShtF,OAAQo2F,IAAc,CACjE,IAAIC,EAAcrJ,EAASl4E,OAAOshF,GAClC,GAAoB,MAAhBC,EAAqB,CAErB,IADA,IAAIC,EAAc,EACXF,EAAa,EAAIpJ,EAAShtF,QAC7BgtF,EAASl4E,OAAOshF,EAAa,KAAOC,GACpCC,IACAF,IAEJ,IAAIG,EAAU,GAAmB,EAAdD,GACfE,EAAeF,EAAc,EAAI,EAAI,GAAKA,GAAe,GAEzDG,EAAWvG,GAA+BjrE,GAI9C,IAHgB,KAAZwxE,GAA+B,KAAZA,IACnBD,EAAe,GAEZA,KAAiB,GACpBL,GANgB,IAQpB,KAAOI,KAAY,GACfJ,EAAeM,EAAWN,OAI9BA,GADqB,MAAhBE,EACW,IAGAA,EAGxB,OAAOF,ED0fmCO,CAAe1J,EAAUxsF,KAAKykB,SAEpD,IAAI9gB,EAAQ,CACR4F,KAAM4hF,GAAciB,SACpB+J,QAAST,EACTnxE,SAAUywE,EAAiBI,cAC3BgB,cAAep2F,KAAKmyF,qBACd5F,GAAsBmJ,GACtB,IAGV,MAAO,CACHtyF,IAAK,CAAEmG,KAFY,SAAZsrF,EAAqB3J,GAAKnkE,KAAOmkE,GAAKzjE,KAE1BljB,MAAOA,EAAOggB,SAAUgxE,EAAY5xF,MAAOA,GAC9DmuC,IAAK,MAKjB,MAAO,CACH1uC,IAAK,CACDmG,KAAkB,WAAZsrF,EACA3J,GAAK/jE,OACO,SAAZ0tE,EACI3J,GAAKnkE,KACLmkE,GAAKzjE,KACfljB,MAAOA,EACPggB,SAAUgxE,EACV5xF,MAA6G,QAArGwyC,EAA0B,OAArB6+C,QAAkD,IAArBA,OAA8B,EAASA,EAAiBrxF,aAA0B,IAAPwyC,EAAgBA,EAAK,MAE9IrE,IAAK,MAGb,IAAK,SACL,IAAK,gBACL,IAAK,SAID,IAAIukD,EAAoBr2F,KAAK4yF,gBAE7B,GADA5yF,KAAKmzF,aACAnzF,KAAKozF,OAAO,KACb,OAAOpzF,KAAKshC,MAAM2pD,GAAUqL,+BAAgClG,GAAeiG,EAAmB3gD,GAAS,GAAI2gD,KAE/Gr2F,KAAKmzF,YASL,IAAIoD,EAAwBv2F,KAAKs0F,4BAC7BkC,EAAe,EACnB,GAAgB,WAAZ3B,GAAwD,WAAhC0B,EAAsBhyF,MAAoB,CAClE,IAAKvE,KAAKozF,OAAO,KACb,OAAOpzF,KAAKshC,MAAM2pD,GAAUwL,oCAAqCrG,GAAepwF,KAAK4yF,gBAAiB5yF,KAAK4yF,kBAG/G,IAAIv1C,EACJ,GAFAr9C,KAAKmzF,aACD91C,EAASr9C,KAAK02F,uBAAuBzL,GAAUwL,oCAAqCxL,GAAU0L,uCACvF7kD,IACP,OAAOuL,EAGXr9C,KAAKmzF,YACLoD,EAAwBv2F,KAAKs0F,4BAC7BkC,EAAen5C,EAAOj6C,IAE1B,IAIIiyF,EAJAuB,EAAgB52F,KAAK62F,8BAA8BxE,EAAcwC,EAAStC,EAAmBgE,GACjG,GAAIK,EAAc9kD,IACd,OAAO8kD,EAGX,IADIvB,EAAiBr1F,KAAKs1F,sBAAsBnB,IAC7BriD,IACf,OAAOujD,EAEX,IAAIyB,EAAa1G,GAAe+D,EAAsBn0F,KAAK4yF,iBAC3D,MAAgB,WAAZiC,EACO,CACHzxF,IAAK,CACDmG,KAAM2hF,GAAKU,OACXrnF,MAAOA,EACPmL,QAAS+gF,GAAYmG,EAAcxzF,KACnCmhB,SAAUuyE,GAEdhlD,IAAK,MAIF,CACH1uC,IAAK,CACDmG,KAAM2hF,GAAKY,OACXvnF,MAAOA,EACPmL,QAAS+gF,GAAYmG,EAAcxzF,KACnCR,OAAQ4zF,EACRO,WAAwB,WAAZlC,EAAuB,WAAa,UAChDtwE,SAAUuyE,GAEdhlD,IAAK,MAIjB,QACI,OAAO9xC,KAAKshC,MAAM2pD,GAAU+L,sBAAuB5G,GAAewE,EAAmBE,MAGjGhD,EAAOnyF,UAAU21F,sBAAwB,SAAUnB,GAG/C,OAAIn0F,KAAKwyF,SAA2B,MAAhBxyF,KAAKgvB,OACdhvB,KAAKshC,MAAM2pD,GAAUmJ,8BAA+BhE,GAAe+D,EAAsBn0F,KAAK4yF,mBAEzG5yF,KAAKgzF,OACE,CAAE5vF,KAAK,EAAM0uC,IAAK,QAK7BggD,EAAOnyF,UAAUu1F,8BAAgC,WAG7C,IAFA,IAAI+B,EAAe,EACfhE,EAAgBjzF,KAAK4yF,iBACjB5yF,KAAKwyF,SAAS,CAElB,OADSxyF,KAAKgvB,QAEV,KAAK,GAGDhvB,KAAKgzF,OACL,IAAIkE,EAAqBl3F,KAAK4yF,gBAC9B,IAAK5yF,KAAKm3F,UAAU,KAChB,OAAOn3F,KAAKshC,MAAM2pD,GAAUmM,iCAAkChH,GAAe8G,EAAoBl3F,KAAK4yF,kBAE1G5yF,KAAKgzF,OACL,MAEJ,KAAK,IACDiE,GAAgB,EAChBj3F,KAAKgzF,OACL,MAEJ,KAAK,IACD,KAAIiE,EAAe,GAIf,MAAO,CACH7zF,IAAKpD,KAAKmhC,QAAQp3B,MAAMkpF,EAAcrwF,OAAQ5C,KAAK4C,UACnDkvC,IAAK,MALTmlD,GAAgB,EAQpB,MAEJ,QACIj3F,KAAKgzF,QAIjB,MAAO,CACH5vF,IAAKpD,KAAKmhC,QAAQp3B,MAAMkpF,EAAcrwF,OAAQ5C,KAAK4C,UACnDkvC,IAAK,OAGbggD,EAAOnyF,UAAU61F,8BAAgC,SAAUhJ,EAAUjoE,GACjE,IAAImqE,EAAS,GACb,IACIA,EFrsBL,SAAuClC,GAC1C,GAAwB,IAApBA,EAAShtF,OACT,MAAM,IAAIsM,MAAM,mCAOpB,IAJA,IAAIurF,EAAe7K,EACd7iF,MAAMyjF,IACNxsC,QAAO,SAAUvyB,GAAK,OAAOA,EAAE7uB,OAAS,KACzCkvF,EAAS,GACJx0C,EAAK,EAAGo9C,EAAiBD,EAAcn9C,EAAKo9C,EAAe93F,OAAQ06C,IAAM,CAC9E,IACIq9C,EADcD,EAAep9C,GACAvwC,MAAM,KACvC,GAA8B,IAA1B4tF,EAAe/3F,OACf,MAAM,IAAIsM,MAAM,2BAGpB,IADA,IAAIqiF,EAAOoJ,EAAe,GAAI7nF,EAAU6nF,EAAextF,MAAM,GACpDosC,EAAK,EAAGqhD,EAAY9nF,EAASymC,EAAKqhD,EAAUh4F,OAAQ22C,IAEzD,GAAsB,IADTqhD,EAAUrhD,GACZ32C,OACP,MAAM,IAAIsM,MAAM,2BAGxB4iF,EAAOn4E,KAAK,CAAE43E,KAAMA,EAAMz+E,QAASA,IAEvC,OAAOg/E,EE6qBU8G,CAA8BhJ,GAE3C,MAAOjmF,GACH,OAAOvG,KAAKshC,MAAM2pD,GAAUwM,wBAAyBlzE,GAEzD,MAAO,CACHnhB,IAAK,CACDmG,KAAM4hF,GAAchkE,OACpBunE,OAAQA,EACRnqE,SAAUA,EACV6xE,cAAep2F,KAAKmyF,qBACd1D,GAAoBC,GACpB,IAEV58C,IAAK,OAabggD,EAAOnyF,UAAUk3F,8BAAgC,SAAUxE,EAAcC,EAAeoF,EAAgBC,GASpG,IARA,IAAIxhD,EACAyhD,GAAiB,EACjBloF,EAAU,GACVmoF,EAAkB,IAAIzvF,IACtBwmD,EAAW+oC,EAAsBpzF,MAAOuzF,EAAmBH,EAAsBpzE,WAIxE,CACT,GAAwB,IAApBqqC,EAASpvD,OAAc,CACvB,IAAIyzF,EAAgBjzF,KAAK4yF,gBACzB,GAAsB,WAAlBN,IAA8BtyF,KAAKozF,OAAO,KAU1C,MARA,IAAI/1C,EAASr9C,KAAK02F,uBAAuBzL,GAAU8M,gCAAiC9M,GAAU+M,kCAC9F,GAAI36C,EAAOvL,IACP,OAAOuL,EAEXy6C,EAAmB1H,GAAe6C,EAAejzF,KAAK4yF,iBACtDhkC,EAAW5uD,KAAKmhC,QAAQp3B,MAAMkpF,EAAcrwF,OAAQ5C,KAAK4C,UAOjE,GAAIi1F,EAAgBrqE,IAAIohC,GACpB,OAAO5uD,KAAKshC,MAAwB,WAAlBgxD,EACZrH,GAAUgN,mCACVhN,GAAUiN,mCAAoCJ,GAEvC,UAAblpC,IACAgpC,GAAiB,GAKrB53F,KAAKmzF,YACL,IAAIgB,EAAuBn0F,KAAK4yF,gBAChC,IAAK5yF,KAAKozF,OAAO,KACb,OAAOpzF,KAAKshC,MAAwB,WAAlBgxD,EACZrH,GAAUkN,yCACVlN,GAAUmN,yCAA0ChI,GAAepwF,KAAK4yF,gBAAiB5yF,KAAK4yF,kBAExG,IAAIyF,EAAiBr4F,KAAKoyF,aAAaC,EAAe,EAAGC,EAAeoF,GACxE,GAAIW,EAAevmD,IACf,OAAOumD,EAEX,IAAIhD,EAAiBr1F,KAAKs1F,sBAAsBnB,GAChD,GAAIkB,EAAevjD,IACf,OAAOujD,EAEX3lF,EAAQ6G,KAAK,CACTq4C,EACA,CACIrqD,MAAO8zF,EAAej1F,IACtBmhB,SAAU6rE,GAAe+D,EAAsBn0F,KAAK4yF,oBAI5DiF,EAAgBrvF,IAAIomD,GAEpB5uD,KAAKmzF,YACmCvkC,GAAvCzY,EAAKn2C,KAAKs0F,6BAA2C/vF,MAAOuzF,EAAmB3hD,EAAG5xB,SAEvF,OAAuB,IAAnB7U,EAAQlQ,OACDQ,KAAKshC,MAAwB,WAAlBgxD,EACZrH,GAAUqN,gCACVrN,GAAU8M,gCAAiC3H,GAAepwF,KAAK4yF,gBAAiB5yF,KAAK4yF,kBAE3F5yF,KAAKkyF,sBAAwB0F,EACtB53F,KAAKshC,MAAM2pD,GAAUsN,qBAAsBnI,GAAepwF,KAAK4yF,gBAAiB5yF,KAAK4yF,kBAEzF,CAAExvF,IAAKsM,EAASoiC,IAAK,OAEhCggD,EAAOnyF,UAAU+2F,uBAAyB,SAAU8B,EAAmBC,GACnE,IAAIpuB,EAAO,EACPoqB,EAAmBz0F,KAAK4yF,gBACxB5yF,KAAKozF,OAAO,MAEPpzF,KAAKozF,OAAO,OACjB/oB,GAAQ,GAIZ,IAFA,IAAIquB,GAAY,EACZC,EAAU,GACN34F,KAAKwyF,SAAS,CAClB,IAAIp6D,EAAKp4B,KAAKgvB,OACd,KAAIoJ,GAAM,IAAgBA,GAAM,IAM5B,MALAsgE,GAAY,EACZC,EAAoB,GAAVA,GAAgBvgE,EAAK,IAC/Bp4B,KAAKgzF,OAMb,IAAIzuE,EAAW6rE,GAAeqE,EAAkBz0F,KAAK4yF,iBACrD,OAAK8F,EAIA1H,GADL2H,GAAWtuB,GAIJ,CAAEjnE,IAAKu1F,EAAS7mD,IAAK,MAFjB9xC,KAAKshC,MAAMm3D,EAAoBl0E,GAJ/BvkB,KAAKshC,MAAMk3D,EAAmBj0E,IAQ7CutE,EAAOnyF,UAAUiD,OAAS,WACtB,OAAO5C,KAAKigE,SAASr9D,QAEzBkvF,EAAOnyF,UAAU6yF,MAAQ,WACrB,OAAOxyF,KAAK4C,WAAa5C,KAAKmhC,QAAQ3hC,QAE1CsyF,EAAOnyF,UAAUizF,cAAgB,WAE7B,MAAO,CACHhwF,OAAQ5C,KAAKigE,SAASr9D,OACtBmvF,KAAM/xF,KAAKigE,SAAS8xB,KACpBC,OAAQhyF,KAAKigE,SAAS+xB,SAO9BF,EAAOnyF,UAAUqvB,KAAO,WACpB,IAAIpsB,EAAS5C,KAAKigE,SAASr9D,OAC3B,GAAIA,GAAU5C,KAAKmhC,QAAQ3hC,OACvB,MAAMsM,MAAM,gBAEhB,IAAIwY,EAAOqsE,GAAY3wF,KAAKmhC,QAASv+B,GACrC,QAAad,IAATwiB,EACA,MAAMxY,MAAM,UAAUmhB,OAAOrqB,EAAQ,6CAEzC,OAAO0hB,GAEXwtE,EAAOnyF,UAAU2hC,MAAQ,SAAUs3D,EAAMr0E,GACrC,MAAO,CACHnhB,IAAK,KACL0uC,IAAK,CACD8mD,KAAMA,EACNz3D,QAASnhC,KAAKmhC,QACd5c,SAAUA,KAKtButE,EAAOnyF,UAAUqzF,KAAO,WACpB,IAAIhzF,KAAKwyF,QAAT,CAGA,IAAIluE,EAAOtkB,KAAKgvB,OACH,KAAT1K,GACAtkB,KAAKigE,SAAS8xB,MAAQ,EACtB/xF,KAAKigE,SAAS+xB,OAAS,EACvBhyF,KAAKigE,SAASr9D,QAAU,IAGxB5C,KAAKigE,SAAS+xB,QAAU,EAExBhyF,KAAKigE,SAASr9D,QAAU0hB,EAAO,MAAU,EAAI,KASrDwtE,EAAOnyF,UAAUyzF,OAAS,SAAUntF,GAChC,GAAI2nD,GAAW5tD,KAAKmhC,QAASl7B,EAAQjG,KAAK4C,UAAW,CACjD,IAAK,IAAItD,EAAI,EAAGA,EAAI2G,EAAOzG,OAAQF,IAC/BU,KAAKgzF,OAET,OAAO,EAEX,OAAO,GAMXlB,EAAOnyF,UAAUw3F,UAAY,SAAUhB,GACnC,IAAI0C,EAAgB74F,KAAK4C,SACrBs3B,EAAQl6B,KAAKmhC,QAAQ/sB,QAAQ+hF,EAAS0C,GAC1C,OAAI3+D,GAAS,GACTl6B,KAAK20F,OAAOz6D,IACL,IAGPl6B,KAAK20F,OAAO30F,KAAKmhC,QAAQ3hC,SAClB,IAOfsyF,EAAOnyF,UAAUg1F,OAAS,SAAUmE,GAChC,GAAI94F,KAAK4C,SAAWk2F,EAChB,MAAMhtF,MAAM,gBAAgBmhB,OAAO6rE,EAAc,yDAAyD7rE,OAAOjtB,KAAK4C,WAG1H,IADAk2F,EAAe7+E,KAAKsQ,IAAIuuE,EAAc94F,KAAKmhC,QAAQ3hC,UACtC,CACT,IAAIoD,EAAS5C,KAAK4C,SAClB,GAAIA,IAAWk2F,EACX,MAEJ,GAAIl2F,EAASk2F,EACT,MAAMhtF,MAAM,gBAAgBmhB,OAAO6rE,EAAc,6CAGrD,GADA94F,KAAKgzF,OACDhzF,KAAKwyF,QACL,QAKZV,EAAOnyF,UAAUwzF,UAAY,WACzB,MAAQnzF,KAAKwyF,SAAWZ,GAAc5xF,KAAKgvB,SACvChvB,KAAKgzF,QAOblB,EAAOnyF,UAAU+yF,KAAO,WACpB,GAAI1yF,KAAKwyF,QACL,OAAO,KAEX,IAAIluE,EAAOtkB,KAAKgvB,OACZpsB,EAAS5C,KAAK4C,SACdm2F,EAAW/4F,KAAKmhC,QAAQoqB,WAAW3oD,GAAU0hB,GAAQ,MAAU,EAAI,IACvE,OAAoB,OAAby0E,QAAkC,IAAbA,EAAsBA,EAAW,MAE1DjH,EA9yBiB,GAszB5B,SAASe,GAASqB,GACd,OAASA,GAAa,IAAMA,GAAa,KACpCA,GAAa,IAAMA,GAAa,GAMzC,SAASP,GAA4B1rF,GACjC,OAAc,KAANA,GACE,KAANA,GACCA,GAAK,IAAMA,GAAK,IACX,KAANA,GACCA,GAAK,IAAMA,GAAK,KAChBA,GAAK,IAAMA,GAAK,IACZ,KAALA,GACCA,GAAK,KAAQA,GAAK,KAClBA,GAAK,KAAQA,GAAK,KAClBA,GAAK,KAAQA,GAAK,KAClBA,GAAK,KAASA,GAAK,MACnBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAWA,GAAK,OAM9B,SAAS2pF,GAAc3pF,GACnB,OAASA,GAAK,GAAUA,GAAK,IACnB,KAANA,GACM,MAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,EAMR,SAAS4pF,GAAiB5pF,GACtB,OAASA,GAAK,IAAUA,GAAK,IACnB,KAANA,GACCA,GAAK,IAAUA,GAAK,IACf,KAANA,GACM,KAANA,GACM,KAANA,GACM,KAANA,GACM,KAANA,GACM,KAANA,GACCA,GAAK,IAAUA,GAAK,IACpBA,GAAK,IAAUA,GAAK,IACpBA,GAAK,IAAUA,GAAK,IACpBA,GAAK,IAAUA,GAAK,IACf,KAANA,GACM,KAANA,GACM,KAANA,GACM,KAANA,GACM,KAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACCA,GAAK,KAAUA,GAAK,KACf,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,KACf,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OAC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","sources":["../node_modules/@babel/runtime/helpers/extends.js","../node_modules/@babel/runtime/helpers/interopRequireDefault.js","../node_modules/dom-helpers/ownerDocument.js","../node_modules/dom-helpers/query/contains.js","../node_modules/dom-helpers/query/isWindow.js","../node_modules/dom-helpers/query/offset.js","../node_modules/dom-helpers/query/offsetParent.js","../node_modules/dom-helpers/query/position.js","../node_modules/dom-helpers/query/scrollLeft.js","../node_modules/dom-helpers/query/scrollTop.js","../node_modules/dom-helpers/style/getComputedStyle.js","../node_modules/dom-helpers/style/index.js","../node_modules/dom-helpers/style/removeStyle.js","../node_modules/dom-helpers/transition/isTransform.js","../node_modules/dom-helpers/transition/properties.js","../node_modules/dom-helpers/util/camelize.js","../node_modules/dom-helpers/util/camelizeStyle.js","../node_modules/dom-helpers/util/hyphenate.js","../node_modules/dom-helpers/util/hyphenateStyle.js","../node_modules/dom-helpers/util/inDOM.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/client.js","../node_modules/react-dom/index.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/use-local-storage/dist/index.js","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/publicPath","../webpack/runtime/jsonp chunk loading","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/@stitches/react/dist/index.mjs","../node_modules/@nextui-org/react/esm/theme/common.js","../node_modules/@nextui-org/react/esm/theme/light-theme.js","../node_modules/@nextui-org/react/esm/theme/colors/blue.js","../node_modules/@nextui-org/react/esm/theme/colors/purple.js","../node_modules/@nextui-org/react/esm/theme/colors/green.js","../node_modules/@nextui-org/react/esm/theme/colors/yellow.js","../node_modules/@nextui-org/react/esm/theme/colors/red.js","../node_modules/@nextui-org/react/esm/theme/colors/cyan.js","../node_modules/@nextui-org/react/esm/theme/colors/pink.js","../node_modules/@nextui-org/react/esm/theme/colors/gray.js","../node_modules/@nextui-org/react/esm/theme/dark-theme.js","../node_modules/@nextui-org/react/esm/utils/deep-merge.js","../node_modules/@nextui-org/react/esm/theme/stitches.config.js","../node_modules/@nextui-org/react/esm/grid/grid.styles.js","../node_modules/@nextui-org/react/esm/utils/clsx.js","../node_modules/@nextui-org/react/esm/utils/with-defaults.js","../node_modules/@nextui-org/react/esm/grid/grid-item.js","../node_modules/@nextui-org/react/esm/grid/grid.js","../node_modules/@nextui-org/react/esm/grid/grid-container.js","../node_modules/@nextui-org/react/esm/grid/index.js","../node_modules/@nextui-org/react/esm/image/image.styles.js","../node_modules/@nextui-org/react/esm/image/image.skeleton.js","../node_modules/@nextui-org/react/esm/use-real-shape/use-real-shape.js","../node_modules/@nextui-org/react/esm/use-real-shape/index.js","../node_modules/@nextui-org/react/esm/use-current-state/index.js","../node_modules/@nextui-org/react/esm/use-current-state/use-current-state.js","../node_modules/@nextui-org/react/esm/use-resize/index.js","../node_modules/@nextui-org/react/esm/use-resize/use-resize.js","../node_modules/@nextui-org/react/esm/utils/dom.js","../node_modules/@nextui-org/react/esm/image/image.js","../node_modules/@nextui-org/react/esm/image/index.js","../node_modules/@nextui-org/react/esm/utils/drip.js","../node_modules/@nextui-org/react/esm/use-drip/index.js","../node_modules/@nextui-org/react/esm/use-drip/use-drip.js","../node_modules/@nextui-org/react/esm/utils/collections.js","../node_modules/@nextui-org/react/esm/use-keyboard/codes.js","../node_modules/@nextui-org/react/esm/utils/object.js","../node_modules/@nextui-org/react/esm/use-keyboard/helper.js","../node_modules/@nextui-org/react/esm/use-keyboard/index.js","../node_modules/@nextui-org/react/esm/use-keyboard/use-keyboard.js","../node_modules/@nextui-org/react/esm/card/card.styles.js","../node_modules/@nextui-org/react/esm/card/card.js","../node_modules/@nextui-org/react/esm/card/index.js","../node_modules/@nextui-org/react/esm/utils/prop-types.js","../node_modules/@nextui-org/react/esm/utils/color.js","../node_modules/@nextui-org/react/esm/link/link.styles.js","../node_modules/@nextui-org/react/esm/link/icon.js","../node_modules/@nextui-org/react/esm/link/link.js","../node_modules/@nextui-org/react/esm/link/index.js","../node_modules/@nextui-org/react/esm/row/row.styles.js","../node_modules/@nextui-org/react/esm/row/row.js","../node_modules/@nextui-org/react/esm/row/index.js","../node_modules/@nextui-org/react/esm/text/text.styles.js","../node_modules/@nextui-org/react/esm/text/child.js","../node_modules/@nextui-org/react/esm/text/text.js","../node_modules/@nextui-org/react/esm/text/index.js","components/GameList.js","../node_modules/@nextui-org/react/esm/col/col.styles.js","../node_modules/@nextui-org/react/esm/col/col.js","../node_modules/@nextui-org/react/esm/col/index.js","../node_modules/@nextui-org/react/node_modules/@react-aria/ssr/dist/packages/@react-aria/ssr/src/SSRProvider.tsx","../node_modules/clsx/dist/clsx.m.js","../node_modules/@react-stately/utils/dist/packages/@react-stately/utils/src/useControlledState.ts","../node_modules/@react-stately/utils/dist/packages/@react-stately/utils/src/number.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/utils/dist/packages/@react-aria/utils/src/useLayoutEffect.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/utils/dist/packages/@react-aria/utils/src/useId.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/utils/dist/packages/@react-aria/utils/src/chain.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/utils/dist/packages/@react-aria/utils/src/mergeProps.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/utils/dist/packages/@react-aria/utils/src/mergeRefs.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/utils/dist/packages/@react-aria/utils/src/filterDOMProps.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/utils/dist/packages/@react-aria/utils/src/focusWithoutScrolling.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/utils/dist/packages/@react-aria/utils/src/getOffset.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/utils/dist/packages/@react-aria/utils/src/runAfterTransition.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/utils/dist/packages/@react-aria/utils/src/useDrag1D.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/utils/dist/packages/@react-aria/utils/src/useGlobalListeners.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/utils/dist/packages/@react-aria/utils/src/useLabels.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/utils/dist/packages/@react-aria/utils/src/useObjectRef.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/utils/dist/packages/@react-aria/utils/src/useUpdateEffect.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/utils/dist/packages/@react-aria/utils/src/useResizeObserver.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/utils/dist/packages/@react-aria/utils/src/useSyncRef.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/utils/dist/packages/@react-aria/utils/src/getScrollParent.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/utils/dist/packages/@react-aria/utils/src/useViewportSize.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/utils/dist/packages/@react-aria/utils/src/useDescription.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/utils/dist/packages/@react-aria/utils/src/platform.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/utils/dist/packages/@react-aria/utils/src/useEvent.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/utils/dist/packages/@react-aria/utils/src/useValueEffect.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/utils/dist/packages/@react-aria/utils/src/scrollIntoView.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/interactions/dist/packages/@react-aria/interactions/src/textSelection.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/interactions/dist/packages/@react-aria/interactions/src/utils.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/interactions/dist/packages/@react-aria/interactions/src/context.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/interactions/dist/packages/@react-aria/interactions/src/usePress.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/interactions/dist/packages/@react-aria/interactions/src/Pressable.tsx","../node_modules/@nextui-org/react/node_modules/@react-aria/interactions/dist/packages/@react-aria/interactions/src/PressResponder.tsx","../node_modules/@nextui-org/react/node_modules/@react-aria/interactions/dist/packages/@react-aria/interactions/src/useFocus.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/interactions/dist/packages/@react-aria/interactions/src/useFocusVisible.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/interactions/dist/packages/@react-aria/interactions/src/useFocusWithin.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/interactions/dist/packages/@react-aria/interactions/src/useHover.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/interactions/dist/packages/@react-aria/interactions/src/useInteractOutside.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/interactions/dist/packages/@react-aria/interactions/src/createEventHandler.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/interactions/dist/packages/@react-aria/interactions/src/useKeyboard.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/interactions/dist/packages/@react-aria/interactions/src/useMove.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/interactions/dist/packages/@react-aria/interactions/src/useScrollWheel.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/interactions/dist/packages/@react-aria/interactions/src/useLongPress.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/focus/dist/packages/@react-aria/focus/src/focusSafely.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/focus/dist/packages/@react-aria/focus/src/isElementVisible.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/focus/dist/packages/@react-aria/focus/src/FocusScope.tsx","../node_modules/@nextui-org/react/node_modules/@react-aria/focus/dist/packages/@react-aria/focus/src/useFocusRing.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/focus/dist/packages/@react-aria/focus/src/FocusRing.tsx","../node_modules/@nextui-org/react/node_modules/@react-aria/focus/dist/packages/@react-aria/focus/src/useFocusable.tsx","../node_modules/@nextui-org/react/node_modules/@react-aria/button/dist/packages/@react-aria/button/src/useButton.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/button/dist/packages/@react-aria/button/src/useToggleButton.ts","../node_modules/@nextui-org/react/esm/use-warning/use-warning.js","../node_modules/@nextui-org/react/esm/button/button-group-context.js","../node_modules/@nextui-org/react/esm/button/button-icon.js","../node_modules/@nextui-org/react/esm/button/button.styles.js","../node_modules/@nextui-org/react/esm/button/button.js","../node_modules/@nextui-org/react/esm/button/utils.js","../node_modules/@nextui-org/react/esm/button/button-group.styles.js","../node_modules/@nextui-org/react/esm/button/button-group.js","../node_modules/@nextui-org/react/esm/button/index.js","components/Header.js","../node_modules/@nextui-org/react/esm/container/container.styles.js","../node_modules/@nextui-org/react/esm/container/container.js","../node_modules/@nextui-org/react/esm/container/index.js","components/Footer.js","../node_modules/tslib/tslib.es6.js","../node_modules/@formatjs/icu-messageformat-parser/lib/error.js","../node_modules/@formatjs/icu-messageformat-parser/lib/types.js","../node_modules/@formatjs/icu-messageformat-parser/lib/regex.generated.js","../node_modules/@formatjs/icu-skeleton-parser/lib/date-time.js","../node_modules/@formatjs/icu-skeleton-parser/lib/regex.generated.js","../node_modules/@formatjs/icu-skeleton-parser/lib/number.js","../node_modules/@formatjs/icu-messageformat-parser/lib/time-data.generated.js","../node_modules/@formatjs/icu-messageformat-parser/lib/parser.js","../node_modules/@formatjs/icu-messageformat-parser/lib/date-time-pattern-generator.js","../node_modules/@formatjs/icu-messageformat-parser/lib/index.js","../node_modules/@formatjs/fast-memoize/lib/index.js","../node_modules/intl-messageformat/lib/src/error.js","../node_modules/intl-messageformat/lib/src/formatters.js","../node_modules/intl-messageformat/lib/src/core.js","../node_modules/intl-messageformat/lib/index.js","../node_modules/@internationalized/message/dist/packages/@internationalized/message/src/MessageDictionary.ts","../node_modules/@internationalized/message/dist/packages/@internationalized/message/src/MessageFormatter.ts","../node_modules/@internationalized/date/dist/packages/@internationalized/date/src/queries.ts","../node_modules/@internationalized/date/dist/packages/@internationalized/date/src/conversion.ts","../node_modules/@internationalized/date/dist/packages/@internationalized/date/src/CalendarDate.ts","../node_modules/@internationalized/date/dist/packages/@internationalized/date/src/DateFormatter.ts","../node_modules/@internationalized/number/dist/packages/@internationalized/number/src/NumberFormatter.ts","../node_modules/@internationalized/number/dist/packages/@internationalized/number/src/NumberParser.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/i18n/dist/packages/@react-aria/i18n/src/utils.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/i18n/dist/packages/@react-aria/i18n/src/useDefaultLocale.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/i18n/dist/packages/@react-aria/i18n/src/context.tsx","../node_modules/@nextui-org/react/node_modules/@react-aria/i18n/dist/packages/@react-aria/i18n/src/useMessageFormatter.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/i18n/dist/packages/@react-aria/i18n/src/useDateFormatter.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/i18n/dist/packages/@react-aria/i18n/src/useNumberFormatter.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/i18n/dist/packages/@react-aria/i18n/src/useCollator.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/i18n/dist/packages/@react-aria/i18n/src/useFilter.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/visually-hidden/dist/packages/@react-aria/visually-hidden/src/VisuallyHidden.tsx","../node_modules/@nextui-org/react/node_modules/@react-aria/overlays/dist/packages/@react-aria/overlays/src/calculatePosition.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/overlays/dist/packages/@react-aria/overlays/src/useCloseOnScroll.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/overlays/dist/packages/@react-aria/overlays/src/useOverlayPosition.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/overlays/dist/packages/@react-aria/overlays/src/useOverlay.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/overlays/dist/packages/@react-aria/overlays/src/useOverlayTrigger.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/overlays/dist/packages/@react-aria/overlays/src/usePreventScroll.ts","../node_modules/@nextui-org/react/node_modules/@react-aria/overlays/dist/packages/@react-aria/overlays/src/useModal.tsx","../node_modules/@nextui-org/react/node_modules/@react-aria/overlays/dist/packages/@react-aria/overlays/intl/ar-AE.json","../node_modules/@nextui-org/react/node_modules/@react-aria/overlays/dist/packages/@react-aria/overlays/intl/bg-BG.json","../node_modules/@nextui-org/react/node_modules/@react-aria/overlays/dist/packages/@react-aria/overlays/intl/cs-CZ.json","../node_modules/@nextui-org/react/node_modules/@react-aria/overlays/dist/packages/@react-aria/overlays/intl/da-DK.json","../node_modules/@nextui-org/react/node_modules/@react-aria/overlays/dist/packages/@react-aria/overlays/intl/de-DE.json","../node_modules/@nextui-org/react/node_modules/@react-aria/overlays/dist/packages/@react-aria/overlays/intl/el-GR.json","../node_modules/@nextui-org/react/node_modules/@react-aria/overlays/dist/packages/@react-aria/overlays/intl/en-US.json","../node_modules/@nextui-org/react/node_modules/@react-aria/overlays/dist/packages/@react-aria/overlays/intl/es-ES.json","../node_modules/@nextui-org/react/node_modules/@react-aria/overlays/dist/packages/@react-aria/overlays/intl/et-EE.json","../node_modules/@nextui-org/react/node_modules/@react-aria/overlays/dist/packages/@react-aria/overlays/intl/fi-FI.json","../node_modules/@nextui-org/react/node_modules/@react-aria/overlays/dist/packages/@react-aria/overlays/intl/fr-FR.json","../node_modules/@nextui-org/react/node_modules/@react-aria/overlays/dist/packages/@react-aria/overlays/intl/he-IL.json","../node_modules/@nextui-org/react/node_modules/@react-aria/overlays/dist/packages/@react-aria/overlays/intl/hr-HR.json","../node_modules/@nextui-org/react/node_modules/@react-aria/overlays/dist/packages/@react-aria/overlays/intl/hu-HU.json","../node_modules/@nextui-org/react/node_modules/@react-aria/overlays/dist/packages/@react-aria/overlays/intl/it-IT.json","../node_modules/@nextui-org/react/node_modules/@react-aria/overlays/dist/packages/@react-aria/overlays/intl/ja-JP.json","../node_modules/@nextui-org/react/node_modules/@react-aria/overlays/dist/packages/@react-aria/overlays/intl/ko-KR.json","../node_modules/@nextui-org/react/node_modules/@react-aria/overlays/dist/packages/@react-aria/overlays/intl/lt-LT.json","../node_modules/@nextui-org/react/node_modules/@react-aria/overlays/dist/packages/@react-aria/overlays/intl/lv-LV.json","../node_modules/@nextui-org/react/node_modules/@react-aria/overlays/dist/packages/@react-aria/overlays/intl/nb-NO.json","../node_modules/@nextui-org/react/node_modules/@react-aria/overlays/dist/packages/@react-aria/overlays/intl/nl-NL.json","../node_modules/@nextui-org/react/node_modules/@react-aria/overlays/dist/packages/@react-aria/overlays/intl/pl-PL.json","../node_modules/@nextui-org/react/node_modules/@react-aria/overlays/dist/packages/@react-aria/overlays/intl/pt-BR.json","../node_modules/@nextui-org/react/node_modules/@react-aria/overlays/dist/packages/@react-aria/overlays/intl/pt-PT.json","../node_modules/@nextui-org/react/node_modules/@react-aria/overlays/dist/packages/@react-aria/overlays/intl/ro-RO.json","../node_modules/@nextui-org/react/node_modules/@react-aria/overlays/dist/packages/@react-aria/overlays/intl/ru-RU.json","../node_modules/@nextui-org/react/node_modules/@react-aria/overlays/dist/packages/@react-aria/overlays/intl/sk-SK.json","../node_modules/@nextui-org/react/node_modules/@react-aria/overlays/dist/packages/@react-aria/overlays/intl/sl-SI.json","../node_modules/@nextui-org/react/node_modules/@react-aria/overlays/dist/packages/@react-aria/overlays/intl/sr-SP.json","../node_modules/@nextui-org/react/node_modules/@react-aria/overlays/dist/packages/@react-aria/overlays/intl/sv-SE.json","../node_modules/@nextui-org/react/node_modules/@react-aria/overlays/dist/packages/@react-aria/overlays/intl/tr-TR.json","../node_modules/@nextui-org/react/node_modules/@react-aria/overlays/dist/packages/@react-aria/overlays/intl/uk-UA.json","../node_modules/@nextui-org/react/node_modules/@react-aria/overlays/dist/packages/@react-aria/overlays/intl/zh-CN.json","../node_modules/@nextui-org/react/node_modules/@react-aria/overlays/dist/packages/@react-aria/overlays/src/DismissButton.tsx","../node_modules/@nextui-org/react/node_modules/@react-aria/overlays/dist/packages/@react-aria/overlays/intl/zh-TW.json","../node_modules/@nextui-org/react/node_modules/@react-aria/overlays/dist/packages/@react-aria/overlays/intl/*.js","../node_modules/@nextui-org/react/node_modules/@react-aria/overlays/dist/packages/@react-aria/overlays/src/ariaHideOutside.ts","../node_modules/@nextui-org/react/esm/css-baseline/css-baseline.js","../node_modules/@nextui-org/react/esm/theme/theme-context.js","../node_modules/@nextui-org/react/esm/theme/utils.js","../node_modules/@nextui-org/react/esm/use-ssr/index.js","../node_modules/@nextui-org/react/esm/use-ssr/use-ssr.js","../node_modules/@nextui-org/react/esm/theme/theme-provider.js","../node_modules/@nextui-org/react/esm/switch/switch.styles.js","../node_modules/@nextui-org/react/esm/switch/switch.js","../node_modules/@nextui-org/react/esm/switch/index.js","App.js","reportWebVitals.js","index.js"],"sourcesContent":["function _extends() {\n module.exports = _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = ownerDocument;\n\nfunction ownerDocument(node) {\n return node && node.ownerDocument || document;\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _inDOM = _interopRequireDefault(require(\"../util/inDOM\"));\n\nvar _default = function () {\n // HTML DOM and SVG DOM may have different support levels,\n // so we need to check on context instead of a document root element.\n return _inDOM.default ? function (context, node) {\n if (context.contains) {\n return context.contains(node);\n } else if (context.compareDocumentPosition) {\n return context === node || !!(context.compareDocumentPosition(node) & 16);\n } else {\n return fallback(context, node);\n }\n } : fallback;\n}();\n\nexports.default = _default;\n\nfunction fallback(context, node) {\n if (node) do {\n if (node === context) return true;\n } while (node = node.parentNode);\n return false;\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = getWindow;\n\nfunction getWindow(node) {\n return node === node.window ? node : node.nodeType === 9 ? node.defaultView || node.parentWindow : false;\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = offset;\n\nvar _contains = _interopRequireDefault(require(\"./contains\"));\n\nvar _isWindow = _interopRequireDefault(require(\"./isWindow\"));\n\nvar _ownerDocument = _interopRequireDefault(require(\"../ownerDocument\"));\n\nfunction offset(node) {\n var doc = (0, _ownerDocument.default)(node),\n win = (0, _isWindow.default)(doc),\n docElem = doc && doc.documentElement,\n box = {\n top: 0,\n left: 0,\n height: 0,\n width: 0\n };\n if (!doc) return; // Make sure it's not a disconnected DOM node\n\n if (!(0, _contains.default)(docElem, node)) return box;\n if (node.getBoundingClientRect !== undefined) box = node.getBoundingClientRect(); // IE8 getBoundingClientRect doesn't support width & height\n\n box = {\n top: box.top + (win.pageYOffset || docElem.scrollTop) - (docElem.clientTop || 0),\n left: box.left + (win.pageXOffset || docElem.scrollLeft) - (docElem.clientLeft || 0),\n width: (box.width == null ? node.offsetWidth : box.width) || 0,\n height: (box.height == null ? node.offsetHeight : box.height) || 0\n };\n return box;\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = offsetParent;\n\nvar _ownerDocument = _interopRequireDefault(require(\"../ownerDocument\"));\n\nvar _style = _interopRequireDefault(require(\"../style\"));\n\nfunction nodeName(node) {\n return node.nodeName && node.nodeName.toLowerCase();\n}\n\nfunction offsetParent(node) {\n var doc = (0, _ownerDocument.default)(node),\n offsetParent = node && node.offsetParent;\n\n while (offsetParent && nodeName(node) !== 'html' && (0, _style.default)(offsetParent, 'position') === 'static') {\n offsetParent = offsetParent.offsetParent;\n }\n\n return offsetParent || doc.documentElement;\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = position;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _offset = _interopRequireDefault(require(\"./offset\"));\n\nvar _offsetParent = _interopRequireDefault(require(\"./offsetParent\"));\n\nvar _scrollTop = _interopRequireDefault(require(\"./scrollTop\"));\n\nvar _scrollLeft = _interopRequireDefault(require(\"./scrollLeft\"));\n\nvar _style = _interopRequireDefault(require(\"../style\"));\n\nfunction nodeName(node) {\n return node.nodeName && node.nodeName.toLowerCase();\n}\n\nfunction position(node, offsetParent) {\n var parentOffset = {\n top: 0,\n left: 0\n },\n offset; // Fixed elements are offset from window (parentOffset = {top:0, left: 0},\n // because it is its only offset parent\n\n if ((0, _style.default)(node, 'position') === 'fixed') {\n offset = node.getBoundingClientRect();\n } else {\n offsetParent = offsetParent || (0, _offsetParent.default)(node);\n offset = (0, _offset.default)(node);\n if (nodeName(offsetParent) !== 'html') parentOffset = (0, _offset.default)(offsetParent);\n parentOffset.top += parseInt((0, _style.default)(offsetParent, 'borderTopWidth'), 10) - (0, _scrollTop.default)(offsetParent) || 0;\n parentOffset.left += parseInt((0, _style.default)(offsetParent, 'borderLeftWidth'), 10) - (0, _scrollLeft.default)(offsetParent) || 0;\n } // Subtract parent offsets and node margins\n\n\n return (0, _extends2.default)({}, offset, {\n top: offset.top - parentOffset.top - (parseInt((0, _style.default)(node, 'marginTop'), 10) || 0),\n left: offset.left - parentOffset.left - (parseInt((0, _style.default)(node, 'marginLeft'), 10) || 0)\n });\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = scrollTop;\n\nvar _isWindow = _interopRequireDefault(require(\"./isWindow\"));\n\nfunction scrollTop(node, val) {\n var win = (0, _isWindow.default)(node);\n if (val === undefined) return win ? 'pageXOffset' in win ? win.pageXOffset : win.document.documentElement.scrollLeft : node.scrollLeft;\n if (win) win.scrollTo(val, 'pageYOffset' in win ? win.pageYOffset : win.document.documentElement.scrollTop);else node.scrollLeft = val;\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = scrollTop;\n\nvar _isWindow = _interopRequireDefault(require(\"./isWindow\"));\n\nfunction scrollTop(node, val) {\n var win = (0, _isWindow.default)(node);\n if (val === undefined) return win ? 'pageYOffset' in win ? win.pageYOffset : win.document.documentElement.scrollTop : node.scrollTop;\n if (win) win.scrollTo('pageXOffset' in win ? win.pageXOffset : win.document.documentElement.scrollLeft, val);else node.scrollTop = val;\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = _getComputedStyle;\n\nvar _camelizeStyle = _interopRequireDefault(require(\"../util/camelizeStyle\"));\n\nvar rposition = /^(top|right|bottom|left)$/;\nvar rnumnonpx = /^([+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|))(?!px)[a-z%]+$/i;\n\nfunction _getComputedStyle(node) {\n if (!node) throw new TypeError('No Element passed to `getComputedStyle()`');\n var doc = node.ownerDocument;\n return 'defaultView' in doc ? doc.defaultView.opener ? node.ownerDocument.defaultView.getComputedStyle(node, null) : window.getComputedStyle(node, null) : {\n //ie 8 \"magic\" from: https://github.com/jquery/jquery/blob/1.11-stable/src/css/curCSS.js#L72\n getPropertyValue: function getPropertyValue(prop) {\n var style = node.style;\n prop = (0, _camelizeStyle.default)(prop);\n if (prop == 'float') prop = 'styleFloat';\n var current = node.currentStyle[prop] || null;\n if (current == null && style && style[prop]) current = style[prop];\n\n if (rnumnonpx.test(current) && !rposition.test(prop)) {\n // Remember the original values\n var left = style.left;\n var runStyle = node.runtimeStyle;\n var rsLeft = runStyle && runStyle.left; // Put in the new values to get a computed value out\n\n if (rsLeft) runStyle.left = node.currentStyle.left;\n style.left = prop === 'fontSize' ? '1em' : current;\n current = style.pixelLeft + 'px'; // Revert the changed values\n\n style.left = left;\n if (rsLeft) runStyle.left = rsLeft;\n }\n\n return current;\n }\n };\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = style;\n\nvar _camelizeStyle = _interopRequireDefault(require(\"../util/camelizeStyle\"));\n\nvar _hyphenateStyle = _interopRequireDefault(require(\"../util/hyphenateStyle\"));\n\nvar _getComputedStyle2 = _interopRequireDefault(require(\"./getComputedStyle\"));\n\nvar _removeStyle = _interopRequireDefault(require(\"./removeStyle\"));\n\nvar _properties = require(\"../transition/properties\");\n\nvar _isTransform = _interopRequireDefault(require(\"../transition/isTransform\"));\n\nfunction style(node, property, value) {\n var css = '';\n var transforms = '';\n var props = property;\n\n if (typeof property === 'string') {\n if (value === undefined) {\n return node.style[(0, _camelizeStyle.default)(property)] || (0, _getComputedStyle2.default)(node).getPropertyValue((0, _hyphenateStyle.default)(property));\n } else {\n (props = {})[property] = value;\n }\n }\n\n Object.keys(props).forEach(function (key) {\n var value = props[key];\n\n if (!value && value !== 0) {\n (0, _removeStyle.default)(node, (0, _hyphenateStyle.default)(key));\n } else if ((0, _isTransform.default)(key)) {\n transforms += key + \"(\" + value + \") \";\n } else {\n css += (0, _hyphenateStyle.default)(key) + \": \" + value + \";\";\n }\n });\n\n if (transforms) {\n css += _properties.transform + \": \" + transforms + \";\";\n }\n\n node.style.cssText += ';' + css;\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = removeStyle;\n\nfunction removeStyle(node, key) {\n return 'removeProperty' in node.style ? node.style.removeProperty(key) : node.style.removeAttribute(key);\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = isTransform;\nvar supportedTransforms = /^((translate|rotate|scale)(X|Y|Z|3d)?|matrix(3d)?|perspective|skew(X|Y)?)$/i;\n\nfunction isTransform(property) {\n return !!(property && supportedTransforms.test(property));\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = exports.animationEnd = exports.animationDelay = exports.animationTiming = exports.animationDuration = exports.animationName = exports.transitionEnd = exports.transitionDuration = exports.transitionDelay = exports.transitionTiming = exports.transitionProperty = exports.transform = void 0;\n\nvar _inDOM = _interopRequireDefault(require(\"../util/inDOM\"));\n\nvar transform = 'transform';\nexports.transform = transform;\nvar prefix, transitionEnd, animationEnd;\nexports.animationEnd = animationEnd;\nexports.transitionEnd = transitionEnd;\nvar transitionProperty, transitionDuration, transitionTiming, transitionDelay;\nexports.transitionDelay = transitionDelay;\nexports.transitionTiming = transitionTiming;\nexports.transitionDuration = transitionDuration;\nexports.transitionProperty = transitionProperty;\nvar animationName, animationDuration, animationTiming, animationDelay;\nexports.animationDelay = animationDelay;\nexports.animationTiming = animationTiming;\nexports.animationDuration = animationDuration;\nexports.animationName = animationName;\n\nif (_inDOM.default) {\n var _getTransitionPropert = getTransitionProperties();\n\n prefix = _getTransitionPropert.prefix;\n exports.transitionEnd = transitionEnd = _getTransitionPropert.transitionEnd;\n exports.animationEnd = animationEnd = _getTransitionPropert.animationEnd;\n exports.transform = transform = prefix + \"-\" + transform;\n exports.transitionProperty = transitionProperty = prefix + \"-transition-property\";\n exports.transitionDuration = transitionDuration = prefix + \"-transition-duration\";\n exports.transitionDelay = transitionDelay = prefix + \"-transition-delay\";\n exports.transitionTiming = transitionTiming = prefix + \"-transition-timing-function\";\n exports.animationName = animationName = prefix + \"-animation-name\";\n exports.animationDuration = animationDuration = prefix + \"-animation-duration\";\n exports.animationTiming = animationTiming = prefix + \"-animation-delay\";\n exports.animationDelay = animationDelay = prefix + \"-animation-timing-function\";\n}\n\nvar _default = {\n transform: transform,\n end: transitionEnd,\n property: transitionProperty,\n timing: transitionTiming,\n delay: transitionDelay,\n duration: transitionDuration\n};\nexports.default = _default;\n\nfunction getTransitionProperties() {\n var style = document.createElement('div').style;\n var vendorMap = {\n O: function O(e) {\n return \"o\" + e.toLowerCase();\n },\n Moz: function Moz(e) {\n return e.toLowerCase();\n },\n Webkit: function Webkit(e) {\n return \"webkit\" + e;\n },\n ms: function ms(e) {\n return \"MS\" + e;\n }\n };\n var vendors = Object.keys(vendorMap);\n var transitionEnd, animationEnd;\n var prefix = '';\n\n for (var i = 0; i < vendors.length; i++) {\n var vendor = vendors[i];\n\n if (vendor + \"TransitionProperty\" in style) {\n prefix = \"-\" + vendor.toLowerCase();\n transitionEnd = vendorMap[vendor]('TransitionEnd');\n animationEnd = vendorMap[vendor]('AnimationEnd');\n break;\n }\n }\n\n if (!transitionEnd && 'transitionProperty' in style) transitionEnd = 'transitionend';\n if (!animationEnd && 'animationName' in style) animationEnd = 'animationend';\n style = null;\n return {\n animationEnd: animationEnd,\n transitionEnd: transitionEnd,\n prefix: prefix\n };\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.default = camelize;\nvar rHyphen = /-(.)/g;\n\nfunction camelize(string) {\n return string.replace(rHyphen, function (_, chr) {\n return chr.toUpperCase();\n });\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = camelizeStyleName;\n\nvar _camelize = _interopRequireDefault(require(\"./camelize\"));\n\n/**\n * Copyright 2014-2015, Facebook, Inc.\n * All rights reserved.\n * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/camelizeStyleName.js\n */\nvar msPattern = /^-ms-/;\n\nfunction camelizeStyleName(string) {\n return (0, _camelize.default)(string.replace(msPattern, 'ms-'));\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = hyphenate;\nvar rUpper = /([A-Z])/g;\n\nfunction hyphenate(string) {\n return string.replace(rUpper, '-$1').toLowerCase();\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = hyphenateStyleName;\n\nvar _hyphenate = _interopRequireDefault(require(\"./hyphenate\"));\n\n/**\n * Copyright 2013-2014, Facebook, Inc.\n * All rights reserved.\n * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/hyphenateStyleName.js\n */\nvar msPattern = /^ms-/;\n\nfunction hyphenateStyleName(string) {\n return (0, _hyphenate.default)(string).replace(msPattern, '-ms-');\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _default = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nexports.default = _default;\nmodule.exports = exports[\"default\"];","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ba=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function t(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new t(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new t(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new t(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new t(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new t(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new t(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new t(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new t(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new t(a,5,!1,a.toLowerCase(),null,!1,!1)});var qa=/[\\-:]([a-z])/g;function ra(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(qa,\nra);z[b]=new t(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(qa,ra);z[b]=new t(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(qa,ra);z[b]=new t(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new t(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new t(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new t(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction sa(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Ma=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?La(a):\"\"}\nfunction Oa(a){switch(a.tag){case 5:return La(a.type);case 16:return La(\"Lazy\");case 13:return La(\"Suspense\");case 19:return La(\"SuspenseList\");case 0:case 2:case 15:return a=Na(a.type,!1),a;case 11:return a=Na(a.type.render,!1),a;case 1:return a=Na(a.type,!0),a;default:return\"\"}}\nfunction Pa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case wa:return\"Fragment\";case va:return\"Portal\";case za:return\"Profiler\";case xa:return\"StrictMode\";case Da:return\"Suspense\";case Ea:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ba:return(a.displayName||\"Context\")+\".Consumer\";case Aa:return(a._context.displayName||\"Context\")+\".Provider\";case Ca:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Fa:return b=a.displayName||null,null!==b?b:Pa(a.type)||\"Memo\";case Ga:b=a._payload;a=a._init;try{return Pa(a(b))}catch(c){}}return null}\nfunction Qa(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Pa(b);case 8:return b===xa?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Ra(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Sa(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ta(a){var b=Sa(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Ua(a){a._valueTracker||(a._valueTracker=Ta(a))}function Va(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Sa(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Wa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Xa(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Ya(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Ra(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function Za(a,b){b=b.checked;null!=b&&sa(a,\"checked\",b,!1)}\nfunction $a(a,b){Za(a,b);var c=Ra(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?bb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&bb(a,b.type,Ra(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction cb(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction bb(a,b,c){if(\"number\"!==b||Wa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var db=Array.isArray;\nfunction eb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=lb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction nb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar ob={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},pb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(ob).forEach(function(a){pb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);ob[b]=ob[a]})});function qb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||ob.hasOwnProperty(a)&&ob[a]?(\"\"+b).trim():b+\"px\"}\nfunction rb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=qb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var sb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction tb(a,b){if(b){if(sb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction ub(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var vb=null;function wb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var xb=null,yb=null,zb=null;\nfunction Ab(a){if(a=Bb(a)){if(\"function\"!==typeof xb)throw Error(p(280));var b=a.stateNode;b&&(b=Cb(b),xb(a.stateNode,a.type,b))}}function Db(a){yb?zb?zb.push(a):zb=[a]:yb=a}function Eb(){if(yb){var a=yb,b=zb;zb=yb=null;Ab(a);if(b)for(a=0;a>>=0;return 0===a?32:31-(oc(a)/pc|0)|0}var qc=64,rc=4194304;\nfunction sc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function tc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=sc(h):(f&=g,0!==f&&(d=sc(f)))}else g=c&~e,0!==g?d=sc(g):0!==f&&(d=sc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}\nfunction zc(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-nc(b);a[b]=c}function Ac(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=ae),de=String.fromCharCode(32),ee=!1;\nfunction fe(a,b){switch(a){case \"keyup\":return-1!==Zd.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function ge(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var he=!1;function ie(a,b){switch(a){case \"compositionend\":return ge(b);case \"keypress\":if(32!==b.which)return null;ee=!0;return de;case \"textInput\":return a=b.data,a===de&&ee?null:a;default:return null}}\nfunction je(a,b){if(he)return\"compositionend\"===a||!$d&&fe(a,b)?(a=md(),ld=kd=jd=null,he=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Ie(c)}}function Ke(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Ke(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Le(){for(var a=window,b=Wa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Wa(a.document)}return b}function Me(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Ne(a){var b=Le(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Ke(c.ownerDocument.documentElement,c)){if(null!==d&&Me(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Je(c,f);var g=Je(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Pe=null,Qe=null,Re=null,Se=!1;\nfunction Te(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Se||null==Pe||Pe!==Wa(d)||(d=Pe,\"selectionStart\"in d&&Me(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Re&&He(Re,d)||(Re=d,d=ne(Qe,\"onSelect\"),0Sf||(a.current=Rf[Sf],Rf[Sf]=null,Sf--)}function G(a,b){Sf++;Rf[Sf]=a.current;a.current=b}var Uf={},H=Tf(Uf),Vf=Tf(!1),Wf=Uf;function Xf(a,b){var c=a.type.contextTypes;if(!c)return Uf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Yf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Zf(){E(Vf);E(H)}function $f(a,b,c){if(H.current!==Uf)throw Error(p(168));G(H,b);G(Vf,c)}function ag(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Qa(a)||\"Unknown\",e));return A({},c,d)}\nfunction bg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Uf;Wf=H.current;G(H,a);G(Vf,Vf.current);return!0}function cg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=ag(a,b,Wf),d.__reactInternalMemoizedMergedChildContext=a,E(Vf),E(H),G(H,a)):E(Vf);G(Vf,c)}var dg=null,eg=!1,fg=!1;function gg(a){null===dg?dg=[a]:dg.push(a)}function hg(a){eg=!0;gg(a)}\nfunction ig(){if(!fg&&null!==dg){fg=!0;var a=0,b=C;try{var c=dg;for(C=1;a>=g;e-=g;Yg=1<<32-nc(b)+e|c<m?(x=r,r=null):x=r.sibling;var v=q(e,r,h[m],k);if(null===v){null===r&&(r=x);break}a&&r&&null===v.alternate&&b(e,r);g=f(v,g,m);null===n?l=v:n.sibling=v;n=v;r=x}if(m===h.length)return c(e,r),I&&$g(e,m),l;if(null===r){for(;mr?(x=m,m=null):x=m.sibling;var w=q(e,m,v.value,k);if(null===w){null===m&&(m=x);break}a&&m&&null===w.alternate&&b(e,m);g=f(w,g,r);null===n?l=w:n.sibling=w;n=w;m=x}if(v.done)return c(e,\nm),I&&$g(e,r),l;if(null===m){for(;!v.done;r++,v=h.next())v=u(e,v.value,k),null!==v&&(g=f(v,g,r),null===n?l=v:n.sibling=v,n=v);I&&$g(e,r);return l}for(m=d(e,m);!v.done;r++,v=h.next())v=y(m,e,r,v.value,k),null!==v&&(a&&null!==v.alternate&&m.delete(null===v.key?r:v.key),g=f(v,g,r),null===n?l=v:n.sibling=v,n=v);a&&m.forEach(function(a){return b(e,a)});I&&$g(e,r);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===wa&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case ua:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===wa){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ga&&rh(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=ph(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===wa?(d=xh(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=vh(f.type,f.key,f.props,null,a.mode,h),h.ref=ph(a,d,f),h.return=a,a=h)}return g(a);case va:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=wh(f,a.mode,h);d.return=a;a=d}return g(a);case Ga:return l=f._init,J(a,d,l(f._payload),h)}if(db(f))return m(a,d,f,h);if(Ja(f))return w(a,d,f,h);qh(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=uh(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var yh=sh(!0),zh=sh(!1),Ah={},Bh=Tf(Ah),Ch=Tf(Ah),Dh=Tf(Ah);function Eh(a){if(a===Ah)throw Error(p(174));return a}function Fh(a,b){G(Dh,b);G(Ch,a);G(Bh,Ah);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:kb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=kb(b,a)}E(Bh);G(Bh,b)}function Gh(){E(Bh);E(Ch);E(Dh)}\nfunction Hh(a){Eh(Dh.current);var b=Eh(Bh.current);var c=kb(b,a.type);b!==c&&(G(Ch,a),G(Bh,c))}function Ih(a){Ch.current===a&&(E(Bh),E(Ch))}var K=Tf(0);\nfunction Jh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Kh=[];\nfunction Lh(){for(var a=0;ac?c:4;a(!0);var d=Nh.transition;Nh.transition={};try{a(!1),b()}finally{C=c,Nh.transition=d}}function Bi(){return ai().memoizedState}\nfunction Ci(a,b,c){var d=Kg(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};Di(a)?Ei(b,c):(Fi(a,b,c),c=Jg(),a=Lg(a,d,c),null!==a&&Gi(a,b,d))}\nfunction ni(a,b,c){var d=Kg(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Di(a))Ei(b,e);else{Fi(a,b,e);var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(Ge(h,g))return}catch(k){}finally{}c=Jg();a=Lg(a,d,c);null!==a&&Gi(a,b,d)}}function Di(a){var b=a.alternate;return a===L||null!==b&&b===L}\nfunction Ei(a,b){Qh=Ph=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Fi(a,b,c){Bg(a)?(a=b.interleaved,null===a?(c.next=c,null===vg?vg=[b]:vg.push(b)):(c.next=a.next,a.next=c),b.interleaved=c):(a=b.pending,null===a?c.next=c:(c.next=a.next,a.next=c),b.pending=c)}function Gi(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Bc(a,c)}}\nvar Yh={readContext:ug,useCallback:O,useContext:O,useEffect:O,useImperativeHandle:O,useInsertionEffect:O,useLayoutEffect:O,useMemo:O,useReducer:O,useRef:O,useState:O,useDebugValue:O,useDeferredValue:O,useTransition:O,useMutableSource:O,useSyncExternalStore:O,useId:O,unstable_isNewReconciler:!1},Vh={readContext:ug,useCallback:function(a,b){$h().memoizedState=[a,void 0===b?null:b];return a},useContext:ug,useEffect:ri,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return pi(4194308,\n4,ui.bind(null,b,a),c)},useLayoutEffect:function(a,b){return pi(4194308,4,a,b)},useInsertionEffect:function(a,b){return pi(4,2,a,b)},useMemo:function(a,b){var c=$h();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=$h();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=Ci.bind(null,L,a);return[d.memoizedState,a]},useRef:function(a){var b=\n$h();a={current:a};return b.memoizedState=a},useState:mi,useDebugValue:wi,useDeferredValue:function(a){return $h().memoizedState=a},useTransition:function(){var a=mi(!1),b=a[0];a=Ai.bind(null,a[1]);$h().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=L,e=$h();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===P)throw Error(p(349));0!==(Oh&30)||ki(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;ri(hi.bind(null,d,\nf,a),[a]);d.flags|=2048;ii(9,ji.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=$h(),b=P.identifierPrefix;if(I){var c=Zg;var d=Yg;c=(d&~(1<<32-nc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Rh++;0\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Nf]=b;a[Of]=d;Ti(a,b,!1,!1);b.stateNode=a;a:{g=ub(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eaj&&(b.flags|=\n128,d=!0,Xi(f,!1),b.lanes=4194304)}else{if(!d)if(a=Jh(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Xi(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return Q(b),null}else 2*B()-f.renderingStartTime>aj&&1073741824!==c&&(b.flags|=128,d=!0,Xi(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=b,f.tail=b.sibling,f.renderingStartTime=\nB(),b.sibling=null,c=K.current,G(K,d?c&1|2:c&1),b;Q(b);return null;case 22:case 23:return bj(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(cj&1073741824)&&(Q(b),b.subtreeFlags&6&&(b.flags|=8192)):Q(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}var dj=ta.ReactCurrentOwner,tg=!1;function ej(a,b,c,d){b.child=null===a?zh(b,null,c,d):yh(b,a.child,c,d)}\nfunction fj(a,b,c,d,e){c=c.render;var f=b.ref;sg(b,e);d=Uh(a,b,c,d,f,e);c=Zh();if(null!==a&&!tg)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,gj(a,b,e);I&&c&&bh(b);b.flags|=1;ej(a,b,d,e);return b.child}\nfunction hj(a,b,c,d,e){if(null===a){var f=c.type;if(\"function\"===typeof f&&!ij(f)&&void 0===f.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=f,jj(a,b,f,d,e);a=vh(c.type,null,d,b,b.mode,e);a.ref=b.ref;a.return=b;return b.child=a}f=a.child;if(0===(a.lanes&e)){var g=f.memoizedProps;c=c.compare;c=null!==c?c:He;if(c(g,d)&&a.ref===b.ref)return gj(a,b,e)}b.flags|=1;a=th(f,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction jj(a,b,c,d,e){if(null!==a){var f=a.memoizedProps;if(He(f,d)&&a.ref===b.ref)if(tg=!1,b.pendingProps=d=f,0!==(a.lanes&e))0!==(a.flags&131072)&&(tg=!0);else return b.lanes=a.lanes,gj(a,b,e)}return kj(a,b,c,d,e)}\nfunction lj(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if(\"hidden\"===d.mode)if(0===(b.mode&1))b.memoizedState={baseLanes:0,cachePool:null,transitions:null},G(mj,cj),cj|=c;else if(0!==(c&1073741824))b.memoizedState={baseLanes:0,cachePool:null,transitions:null},d=null!==f?f.baseLanes:c,G(mj,cj),cj|=d;else return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a,cachePool:null,transitions:null},b.updateQueue=null,G(mj,cj),cj|=a,null;\nelse null!==f?(d=f.baseLanes|c,b.memoizedState=null):d=c,G(mj,cj),cj|=d;ej(a,b,e,c);return b.child}function nj(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=512,b.flags|=2097152}function kj(a,b,c,d,e){var f=Yf(c)?Wf:H.current;f=Xf(b,f);sg(b,e);c=Uh(a,b,c,d,f,e);d=Zh();if(null!==a&&!tg)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,gj(a,b,e);I&&d&&bh(b);b.flags|=1;ej(a,b,c,e);return b.child}\nfunction oj(a,b,c,d,e){if(Yf(c)){var f=!0;bg(b)}else f=!1;sg(b,e);if(null===b.stateNode)null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2),Og(b,c,d),Qg(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=ug(l):(l=Yf(c)?Wf:H.current,l=Xf(b,l));var n=c.getDerivedStateFromProps,u=\"function\"===typeof n||\"function\"===typeof g.getSnapshotBeforeUpdate;u||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\n\"function\"!==typeof g.componentWillReceiveProps||(h!==d||k!==l)&&Pg(b,g,d,l);wg=!1;var q=b.memoizedState;g.state=q;Eg(b,d,g,e);k=b.memoizedState;h!==d||q!==k||Vf.current||wg?(\"function\"===typeof n&&(Ig(b,c,n,d),k=b.memoizedState),(h=wg||Ng(b,c,h,d,q,k,l))?(u||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===\ntypeof g.componentDidMount&&(b.flags|=4194308)):(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),d=!1)}else{g=b.stateNode;yg(a,b);h=b.memoizedProps;l=b.type===b.elementType?h:kg(b.type,h);g.props=l;u=b.pendingProps;q=g.context;k=c.contextType;\"object\"===typeof k&&null!==k?k=ug(k):(k=Yf(c)?Wf:H.current,k=Xf(b,k));var y=c.getDerivedStateFromProps;(n=\"function\"===\ntypeof y||\"function\"===typeof g.getSnapshotBeforeUpdate)||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==u||q!==k)&&Pg(b,g,d,k);wg=!1;q=b.memoizedState;g.state=q;Eg(b,d,g,e);var m=b.memoizedState;h!==u||q!==m||Vf.current||wg?(\"function\"===typeof y&&(Ig(b,c,y,d),m=b.memoizedState),(l=wg||Ng(b,c,l,d,q,m,k)||!1)?(n||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&\ng.componentWillUpdate(d,m,k),\"function\"===typeof g.UNSAFE_componentWillUpdate&&g.UNSAFE_componentWillUpdate(d,m,k)),\"function\"===typeof g.componentDidUpdate&&(b.flags|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=1024)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&q===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&q===a.memoizedState||(b.flags|=1024),b.memoizedProps=d,b.memoizedState=m),g.props=d,g.state=m,g.context=\nk,d=l):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&q===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&q===a.memoizedState||(b.flags|=1024),d=!1)}return pj(a,b,c,d,f,e)}\nfunction pj(a,b,c,d,e,f){nj(a,b);var g=0!==(b.flags&128);if(!d&&!g)return e&&cg(b,c,!1),gj(a,b,f);d=b.stateNode;dj.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=yh(b,a.child,null,f),b.child=yh(b,null,h,f)):ej(a,b,h,f);b.memoizedState=d.state;e&&cg(b,c,!0);return b.child}function qj(a){var b=a.stateNode;b.pendingContext?$f(a,b.pendingContext,b.pendingContext!==b.context):b.context&&$f(a,b.context,!1);Fh(a,b.containerInfo)}\nfunction rj(a,b,c,d,e){nh();oh(e);b.flags|=256;ej(a,b,c,d);return b.child}var sj={dehydrated:null,treeContext:null,retryLane:0};function tj(a){return{baseLanes:a,cachePool:null,transitions:null}}function uj(a,b){return{baseLanes:a.baseLanes|b,cachePool:null,transitions:a.transitions}}\nfunction vj(a,b,c){var d=b.pendingProps,e=K.current,f=!1,g=0!==(b.flags&128),h;(h=g)||(h=null!==a&&null===a.memoizedState?!1:0!==(e&2));if(h)f=!0,b.flags&=-129;else if(null===a||null!==a.memoizedState)e|=1;G(K,e&1);if(null===a){kh(b);a=b.memoizedState;if(null!==a&&(a=a.dehydrated,null!==a))return 0===(b.mode&1)?b.lanes=1:\"$!\"===a.data?b.lanes=8:b.lanes=1073741824,null;e=d.children;a=d.fallback;return f?(d=b.mode,f=b.child,e={mode:\"hidden\",children:e},0===(d&1)&&null!==f?(f.childLanes=0,f.pendingProps=\ne):f=wj(e,d,0,null),a=xh(a,d,c,null),f.return=b,a.return=b,f.sibling=a,b.child=f,b.child.memoizedState=tj(c),b.memoizedState=sj,a):xj(b,e)}e=a.memoizedState;if(null!==e){h=e.dehydrated;if(null!==h){if(g){if(b.flags&256)return b.flags&=-257,yj(a,b,c,Error(p(422)));if(null!==b.memoizedState)return b.child=a.child,b.flags|=128,null;f=d.fallback;e=b.mode;d=wj({mode:\"visible\",children:d.children},e,0,null);f=xh(f,e,c,null);f.flags|=2;d.return=b;f.return=b;d.sibling=f;b.child=d;0!==(b.mode&1)&&yh(b,a.child,\nnull,c);b.child.memoizedState=tj(c);b.memoizedState=sj;return f}if(0===(b.mode&1))b=yj(a,b,c,null);else if(\"$!\"===h.data)b=yj(a,b,c,Error(p(419)));else if(d=0!==(c&a.childLanes),tg||d){d=P;if(null!==d){switch(c&-c){case 4:f=2;break;case 16:f=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:f=32;break;case 536870912:f=\n268435456;break;default:f=0}d=0!==(f&(d.suspendedLanes|c))?0:f;0!==d&&d!==e.retryLane&&(e.retryLane=d,Lg(a,d,-1))}$i();b=yj(a,b,c,Error(p(421)))}else\"$?\"===h.data?(b.flags|=128,b.child=a.child,b=zj.bind(null,a),h._reactRetry=b,b=null):(c=e.treeContext,eh=Kf(h.nextSibling),dh=b,I=!0,fh=null,null!==c&&(Vg[Wg++]=Yg,Vg[Wg++]=Zg,Vg[Wg++]=Xg,Yg=c.id,Zg=c.overflow,Xg=b),b=xj(b,b.pendingProps.children),b.flags|=4096);return b}if(f)return d=Aj(a,b,d.children,d.fallback,c),f=b.child,e=a.child.memoizedState,\nf.memoizedState=null===e?tj(c):uj(e,c),f.childLanes=a.childLanes&~c,b.memoizedState=sj,d;c=Bj(a,b,d.children,c);b.memoizedState=null;return c}if(f)return d=Aj(a,b,d.children,d.fallback,c),f=b.child,e=a.child.memoizedState,f.memoizedState=null===e?tj(c):uj(e,c),f.childLanes=a.childLanes&~c,b.memoizedState=sj,d;c=Bj(a,b,d.children,c);b.memoizedState=null;return c}function xj(a,b){b=wj({mode:\"visible\",children:b},a.mode,0,null);b.return=a;return a.child=b}\nfunction Bj(a,b,c,d){var e=a.child;a=e.sibling;c=th(e,{mode:\"visible\",children:c});0===(b.mode&1)&&(c.lanes=d);c.return=b;c.sibling=null;null!==a&&(d=b.deletions,null===d?(b.deletions=[a],b.flags|=16):d.push(a));return b.child=c}\nfunction Aj(a,b,c,d,e){var f=b.mode;a=a.child;var g=a.sibling,h={mode:\"hidden\",children:c};0===(f&1)&&b.child!==a?(c=b.child,c.childLanes=0,c.pendingProps=h,b.deletions=null):(c=th(a,h),c.subtreeFlags=a.subtreeFlags&14680064);null!==g?d=th(g,d):(d=xh(d,f,e,null),d.flags|=2);d.return=b;c.return=b;c.sibling=d;b.child=c;return d}function yj(a,b,c,d){null!==d&&oh(d);yh(b,a.child,null,c);a=xj(b,b.pendingProps.children);a.flags|=2;b.memoizedState=null;return a}\nfunction Cj(a,b,c){a.lanes|=b;var d=a.alternate;null!==d&&(d.lanes|=b);rg(a.return,b,c)}function Dj(a,b,c,d,e){var f=a.memoizedState;null===f?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e}:(f.isBackwards=b,f.rendering=null,f.renderingStartTime=0,f.last=d,f.tail=c,f.tailMode=e)}\nfunction Ej(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;ej(a,b,d.children,c);d=K.current;if(0!==(d&2))d=d&1|2,b.flags|=128;else{if(null!==a&&0!==(a.flags&128))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&Cj(a,c,b);else if(19===a.tag)Cj(a,c,b);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}G(K,d);if(0===(b.mode&1))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===Jh(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);Dj(b,!1,e,c,f);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===Jh(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}Dj(b,!0,c,null,f);break;case \"together\":Dj(b,!1,null,null,void 0);break;default:b.memoizedState=null}return b.child}\nfunction gj(a,b,c){null!==a&&(b.dependencies=a.dependencies);Fg|=b.lanes;if(0===(c&b.childLanes))return null;if(null!==a&&b.child!==a.child)throw Error(p(153));if(null!==b.child){a=b.child;c=th(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=th(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}\nfunction Fj(a,b,c){switch(b.tag){case 3:qj(b);nh();break;case 5:Hh(b);break;case 1:Yf(b.type)&&bg(b);break;case 4:Fh(b,b.stateNode.containerInfo);break;case 10:var d=b.type._context,e=b.memoizedProps.value;G(lg,d._currentValue);d._currentValue=e;break;case 13:d=b.memoizedState;if(null!==d){if(null!==d.dehydrated)return G(K,K.current&1),b.flags|=128,null;if(0!==(c&b.child.childLanes))return vj(a,b,c);G(K,K.current&1);a=gj(a,b,c);return null!==a?a.sibling:null}G(K,K.current&1);break;case 19:d=0!==(c&\nb.childLanes);if(0!==(a.flags&128)){if(d)return Ej(a,b,c);b.flags|=128}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);G(K,K.current);if(d)break;else return null;case 22:case 23:return b.lanes=0,lj(a,b,c)}return gj(a,b,c)}\nfunction Gj(a,b){ch(b);switch(b.tag){case 1:return Yf(b.type)&&Zf(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return Gh(),E(Vf),E(H),Lh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Ih(b),null;case 13:E(K);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));nh()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(K),null;case 4:return Gh(),null;case 10:return qg(b.type._context),null;case 22:case 23:return bj(),\nnull;case 24:return null;default:return null}}var Hj=!1,S=!1,Ij=\"function\"===typeof WeakSet?WeakSet:Set,T=null;function Jj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){U(a,b,d)}else c.current=null}function Kj(a,b,c){try{c()}catch(d){U(a,b,d)}}var Lj=!1;\nfunction Mj(a,b){Bf=cd;a=Le();if(Me(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(Z){c=null;break a}var g=0,h=-1,k=-1,l=0,n=0,u=a,q=null;b:for(;;){for(var y;;){u!==c||0!==e&&3!==u.nodeType||(h=g+e);u!==f||0!==d&&3!==u.nodeType||(k=g+d);3===u.nodeType&&(g+=\nu.nodeValue.length);if(null===(y=u.firstChild))break;q=u;u=y}for(;;){if(u===a)break b;q===c&&++l===e&&(h=g);q===f&&++n===d&&(k=g);if(null!==(y=u.nextSibling))break;u=q;q=u.parentNode}u=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Cf={focusedElem:a,selectionRange:c};cd=!1;for(T=b;null!==T;)if(b=T,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,T=a;else for(;null!==T;){b=T;try{var m=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==m){var w=m.memoizedProps,J=m.memoizedState,v=b.stateNode,x=v.getSnapshotBeforeUpdate(b.elementType===b.type?w:kg(b.type,w),J);v.__reactInternalSnapshotBeforeUpdate=x}break;case 3:var r=b.stateNode.containerInfo;if(1===r.nodeType)r.textContent=\"\";else if(9===r.nodeType){var F=r.body;null!=F&&(F.textContent=\"\")}break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(Z){U(b,b.return,Z)}a=b.sibling;if(null!==a){a.return=b.return;T=a;break}T=b.return}m=Lj;Lj=!1;return m}\nfunction Nj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Kj(b,c,f)}e=e.next}while(e!==d)}}function Oj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Pj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Qj(a){var b=a.alternate;null!==b&&(a.alternate=null,Qj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Nf],delete b[Of],delete b[nf],delete b[Pf],delete b[Qf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Rj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Sj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Rj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Tj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Af));else if(4!==d&&(a=a.child,null!==a))for(Tj(a,b,c),a=a.sibling;null!==a;)Tj(a,b,c),a=a.sibling}\nfunction Uj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Uj(a,b,c),a=a.sibling;null!==a;)Uj(a,b,c),a=a.sibling}var V=null,Vj=!1;function Wj(a,b,c){for(c=c.child;null!==c;)Xj(a,b,c),c=c.sibling}\nfunction Xj(a,b,c){if(kc&&\"function\"===typeof kc.onCommitFiberUnmount)try{kc.onCommitFiberUnmount(jc,c)}catch(h){}switch(c.tag){case 5:S||Jj(c,b);case 6:var d=V,e=Vj;V=null;Wj(a,b,c);V=d;Vj=e;null!==V&&(Vj?(a=V,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):V.removeChild(c.stateNode));break;case 18:null!==V&&(Vj?(a=V,c=c.stateNode,8===a.nodeType?Jf(a.parentNode,c):1===a.nodeType&&Jf(a,c),ad(a)):Jf(V,c.stateNode));break;case 4:d=V;e=Vj;V=c.stateNode.containerInfo;Vj=!0;\nWj(a,b,c);V=d;Vj=e;break;case 0:case 11:case 14:case 15:if(!S&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Kj(c,b,g):0!==(f&4)&&Kj(c,b,g));e=e.next}while(e!==d)}Wj(a,b,c);break;case 1:if(!S&&(Jj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){U(c,b,h)}Wj(a,b,c);break;case 21:Wj(a,b,c);break;case 22:c.mode&1?(S=(d=S)||null!==\nc.memoizedState,Wj(a,b,c),S=d):Wj(a,b,c);break;default:Wj(a,b,c)}}function Yj(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Ij);b.forEach(function(b){var d=Zj.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction ak(a,b){var c=b.deletions;if(null!==c)for(var d=0;de&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*jk(d/1960))-d;if(10a?16:a;if(null===uk)var d=!1;else{a=uk;uk=null;vk=0;if(0!==(W&6))throw Error(p(331));var e=W;W|=4;for(T=a.current;null!==T;){var f=T,g=f.child;if(0!==(T.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kB()-dk?Jk(a,0):pk|=c);Ck(a,b)}function Xk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=rc,rc<<=1,0===(rc&130023424)&&(rc=4194304)));var c=Jg();a=Ak(a,b);null!==a&&(zc(a,b,c),Ck(a,c))}function zj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Xk(a,c)}\nfunction Zj(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Xk(a,c)}var Uk;\nUk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Vf.current)tg=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return tg=!1,Fj(a,b,c);tg=0!==(a.flags&131072)?!0:!1}else tg=!1,I&&0!==(b.flags&1048576)&&ah(b,Ug,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=b.pendingProps;var e=Xf(b,H.current);sg(b,c);e=Uh(null,b,d,a,e,c);var f=Zh();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?\n(b.tag=1,b.memoizedState=null,b.updateQueue=null,Yf(d)?(f=!0,bg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,xg(b),e.updater=Mg,b.stateNode=e,e._reactInternals=b,Qg(b,d,a,c),b=pj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&bh(b),ej(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=Yk(d);a=kg(d,a);switch(e){case 0:b=kj(null,b,d,a,c);break a;case 1:b=oj(null,b,\nd,a,c);break a;case 11:b=fj(null,b,d,a,c);break a;case 14:b=hj(null,b,d,kg(d.type,a),c);break a}throw Error(p(306,d,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:kg(d,e),kj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:kg(d,e),oj(a,b,d,e,c);case 3:a:{qj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;yg(a,b);Eg(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,\ncache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=f,b.memoizedState=f,b.flags&256){e=Error(p(423));b=rj(a,b,d,c,e);break a}else if(d!==e){e=Error(p(424));b=rj(a,b,d,c,e);break a}else for(eh=Kf(b.stateNode.containerInfo.firstChild),dh=b,I=!0,fh=null,c=zh(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{nh();if(d===e){b=gj(a,b,c);break a}ej(a,b,d,c)}b=b.child}return b;case 5:return Hh(b),null===a&&kh(b),d=b.type,e=\nb.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Df(d,e)?g=null:null!==f&&Df(d,f)&&(b.flags|=32),nj(a,b),ej(a,b,g,c),b.child;case 6:return null===a&&kh(b),null;case 13:return vj(a,b,c);case 4:return Fh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=yh(b,null,d,c):ej(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:kg(d,e),fj(a,b,d,e,c);case 7:return ej(a,b,b.pendingProps,c),b.child;case 8:return ej(a,b,b.pendingProps.children,c),b.child;case 12:return ej(a,\nb,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;g=e.value;G(lg,d._currentValue);d._currentValue=g;if(null!==f)if(Ge(f.value,g)){if(f.children===e.children&&!Vf.current){b=gj(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=zg(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var n=l.pending;null===n?k.next=\nk:(k.next=n.next,n.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);rg(f.return,c,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);rg(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}ej(a,b,e.children,c);b=b.child}return b;\ncase 9:return e=b.type,d=b.pendingProps.children,sg(b,c),e=ug(e),d=d(e),b.flags|=1,ej(a,b,d,c),b.child;case 14:return d=b.type,e=kg(d,b.pendingProps),e=kg(d.type,e),hj(a,b,d,e,c);case 15:return jj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:kg(d,e),null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2),b.tag=1,Yf(d)?(a=!0,bg(b)):a=!1,sg(b,c),Og(b,d,e),Qg(b,d,e,c),pj(null,b,d,!0,a,c);case 19:return Ej(a,b,c);case 22:return lj(a,b,c)}throw Error(p(156,\nb.tag));};function Ek(a,b){return $b(a,b)}function Zk(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function hh(a,b,c,d){return new Zk(a,b,c,d)}\nfunction ij(a){a=a.prototype;return!(!a||!a.isReactComponent)}function Yk(a){if(\"function\"===typeof a)return ij(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Ca)return 11;if(a===Fa)return 14}return 2}\nfunction th(a,b){var c=a.alternate;null===c?(c=hh(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction vh(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)ij(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case wa:return xh(c.children,e,f,b);case xa:g=8;e|=8;break;case za:return a=hh(12,c,b,e|2),a.elementType=za,a.lanes=f,a;case Da:return a=hh(13,c,b,e),a.elementType=Da,a.lanes=f,a;case Ea:return a=hh(19,c,b,e),a.elementType=Ea,a.lanes=f,a;case Ha:return wj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Aa:g=10;break a;case Ba:g=9;break a;case Ca:g=11;\nbreak a;case Fa:g=14;break a;case Ga:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=hh(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function xh(a,b,c,d){a=hh(7,a,d,b);a.lanes=c;return a}function wj(a,b,c,d){a=hh(22,a,d,b);a.elementType=Ha;a.lanes=c;a.stateNode={};return a}function uh(a,b,c){a=hh(6,a,null,b);a.lanes=c;return a}\nfunction wh(a,b,c){b=hh(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction $k(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=yc(0);this.expirationTimes=yc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=yc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function al(a,b,c,d,e,f,g,h,k){a=new $k(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=hh(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};xg(f);return a}function bl(a,b,c){var d=3>>1,e=a[d];if(0>>1;dg(C,c))ng(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(ng(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nfunction useLocalStorage(key, defaultValue, options) {\n var opts = react_1.useMemo(function () {\n return __assign({ serializer: JSON.stringify, parser: JSON.parse, logger: console.log, syncData: true }, options);\n }, [options]);\n var serializer = opts.serializer, parser = opts.parser, logger = opts.logger, syncData = opts.syncData;\n var _a = react_1.useState(function () {\n if (typeof window === \"undefined\")\n return defaultValue;\n try {\n var item = window.localStorage.getItem(key);\n var res = item ? parser(item) : defaultValue;\n return res;\n }\n catch (e) {\n logger(e);\n return defaultValue;\n }\n }), storedValue = _a[0], setValue = _a[1];\n react_1.useEffect(function () {\n if (typeof window === \"undefined\")\n return;\n var updateLocalStorage = function () {\n if (storedValue !== undefined) {\n window.localStorage.setItem(key, serializer(storedValue));\n }\n else {\n window.localStorage.removeItem(key);\n }\n };\n try {\n updateLocalStorage();\n }\n catch (e) {\n logger(e);\n }\n }, [storedValue]);\n react_1.useEffect(function () {\n if (!syncData)\n return;\n var handleStorageChange = function (e) {\n if (e.key !== key || e.storageArea !== window.localStorage)\n return;\n try {\n setValue(e.newValue ? parser(e.newValue) : undefined);\n }\n catch (e) {\n logger(e);\n }\n };\n if (typeof window === \"undefined\")\n return;\n window.addEventListener(\"storage\", handleStorageChange);\n return function () { return window.removeEventListener(\"storage\", handleStorageChange); };\n }, [key, syncData]);\n return [storedValue, setValue];\n}\nexports.default = useLocalStorage;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"static/js/\" + chunkId + \".\" + \"e862f033\" + \".chunk.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"retrogames:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t179: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkretrogames\"] = self[\"webpackChunkretrogames\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import _typeof from \"./typeof.js\";\nexport default function _regeneratorRuntime() {\n \"use strict\";\n /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n\n _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n };\n\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return generator._invoke = function (innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }(innerFn, self, context), generator;\n }\n\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n\n exports.wrap = wrap;\n var ContinueSentinel = {};\n\n function Generator() {}\n\n function GeneratorFunction() {}\n\n function GeneratorFunctionPrototype() {}\n\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n\n reject(record.arg);\n }\n\n var previousPromise;\n\n this._invoke = function (method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n };\n }\n\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n\n if (undefined === method) {\n if (context.delegate = null, \"throw\" === context.method) {\n if (delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method)) return ContinueSentinel;\n context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) {\n if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n }\n\n return next.value = undefined, next.done = !0, next;\n };\n\n return next.next = next;\n }\n }\n\n return {\n next: doneResult\n };\n }\n\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, define(Gp, \"constructor\", GeneratorFunctionPrototype), define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (object) {\n var keys = [];\n\n for (var key in object) {\n keys.push(key);\n }\n\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) {\n \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n }\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n\n return thrown;\n }\n }\n\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import defineProperty from \"./defineProperty.js\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","var e=\"colors\",t=\"sizes\",r=\"space\",n={gap:r,gridGap:r,columnGap:r,gridColumnGap:r,rowGap:r,gridRowGap:r,inset:r,insetBlock:r,insetBlockEnd:r,insetBlockStart:r,insetInline:r,insetInlineEnd:r,insetInlineStart:r,margin:r,marginTop:r,marginRight:r,marginBottom:r,marginLeft:r,marginBlock:r,marginBlockEnd:r,marginBlockStart:r,marginInline:r,marginInlineEnd:r,marginInlineStart:r,padding:r,paddingTop:r,paddingRight:r,paddingBottom:r,paddingLeft:r,paddingBlock:r,paddingBlockEnd:r,paddingBlockStart:r,paddingInline:r,paddingInlineEnd:r,paddingInlineStart:r,top:r,right:r,bottom:r,left:r,scrollMargin:r,scrollMarginTop:r,scrollMarginRight:r,scrollMarginBottom:r,scrollMarginLeft:r,scrollMarginX:r,scrollMarginY:r,scrollMarginBlock:r,scrollMarginBlockEnd:r,scrollMarginBlockStart:r,scrollMarginInline:r,scrollMarginInlineEnd:r,scrollMarginInlineStart:r,scrollPadding:r,scrollPaddingTop:r,scrollPaddingRight:r,scrollPaddingBottom:r,scrollPaddingLeft:r,scrollPaddingX:r,scrollPaddingY:r,scrollPaddingBlock:r,scrollPaddingBlockEnd:r,scrollPaddingBlockStart:r,scrollPaddingInline:r,scrollPaddingInlineEnd:r,scrollPaddingInlineStart:r,fontSize:\"fontSizes\",background:e,backgroundColor:e,backgroundImage:e,borderImage:e,border:e,borderBlock:e,borderBlockEnd:e,borderBlockStart:e,borderBottom:e,borderBottomColor:e,borderColor:e,borderInline:e,borderInlineEnd:e,borderInlineStart:e,borderLeft:e,borderLeftColor:e,borderRight:e,borderRightColor:e,borderTop:e,borderTopColor:e,caretColor:e,color:e,columnRuleColor:e,fill:e,outline:e,outlineColor:e,stroke:e,textDecorationColor:e,fontFamily:\"fonts\",fontWeight:\"fontWeights\",lineHeight:\"lineHeights\",letterSpacing:\"letterSpacings\",blockSize:t,minBlockSize:t,maxBlockSize:t,inlineSize:t,minInlineSize:t,maxInlineSize:t,width:t,minWidth:t,maxWidth:t,height:t,minHeight:t,maxHeight:t,flexBasis:t,gridTemplateColumns:t,gridTemplateRows:t,borderWidth:\"borderWidths\",borderTopWidth:\"borderWidths\",borderRightWidth:\"borderWidths\",borderBottomWidth:\"borderWidths\",borderLeftWidth:\"borderWidths\",borderStyle:\"borderStyles\",borderTopStyle:\"borderStyles\",borderRightStyle:\"borderStyles\",borderBottomStyle:\"borderStyles\",borderLeftStyle:\"borderStyles\",borderRadius:\"radii\",borderTopLeftRadius:\"radii\",borderTopRightRadius:\"radii\",borderBottomRightRadius:\"radii\",borderBottomLeftRadius:\"radii\",boxShadow:\"shadows\",textShadow:\"shadows\",transition:\"transitions\",zIndex:\"zIndices\"},i=(e,t)=>\"function\"==typeof t?{\"()\":Function.prototype.toString.call(t)}:t,o=()=>{const e=Object.create(null);return(t,r,...n)=>{const o=(e=>JSON.stringify(e,i))(t);return o in e?e[o]:e[o]=r(t,...n)}},l=Symbol.for(\"sxs.internal\"),s=(e,t)=>Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)),a=e=>{for(const t in e)return!0;return!1},{hasOwnProperty:c}=Object.prototype,d=e=>e.includes(\"-\")?e:e.replace(/[A-Z]/g,(e=>\"-\"+e.toLowerCase())),g=/\\s+(?![^()]*\\))/,p=e=>t=>e(...\"string\"==typeof t?String(t).split(g):[t]),u={appearance:e=>({WebkitAppearance:e,appearance:e}),backfaceVisibility:e=>({WebkitBackfaceVisibility:e,backfaceVisibility:e}),backdropFilter:e=>({WebkitBackdropFilter:e,backdropFilter:e}),backgroundClip:e=>({WebkitBackgroundClip:e,backgroundClip:e}),boxDecorationBreak:e=>({WebkitBoxDecorationBreak:e,boxDecorationBreak:e}),clipPath:e=>({WebkitClipPath:e,clipPath:e}),content:e=>({content:e.includes('\"')||e.includes(\"'\")||/^([A-Za-z]+\\([^]*|[^]*-quote|inherit|initial|none|normal|revert|unset)$/.test(e)?e:`\"${e}\"`}),hyphens:e=>({WebkitHyphens:e,hyphens:e}),maskImage:e=>({WebkitMaskImage:e,maskImage:e}),maskSize:e=>({WebkitMaskSize:e,maskSize:e}),tabSize:e=>({MozTabSize:e,tabSize:e}),textSizeAdjust:e=>({WebkitTextSizeAdjust:e,textSizeAdjust:e}),userSelect:e=>({WebkitUserSelect:e,userSelect:e}),marginBlock:p(((e,t)=>({marginBlockStart:e,marginBlockEnd:t||e}))),marginInline:p(((e,t)=>({marginInlineStart:e,marginInlineEnd:t||e}))),maxSize:p(((e,t)=>({maxBlockSize:e,maxInlineSize:t||e}))),minSize:p(((e,t)=>({minBlockSize:e,minInlineSize:t||e}))),paddingBlock:p(((e,t)=>({paddingBlockStart:e,paddingBlockEnd:t||e}))),paddingInline:p(((e,t)=>({paddingInlineStart:e,paddingInlineEnd:t||e})))},h=/([\\d.]+)([^]*)/,f=(e,t)=>e.length?e.reduce(((e,r)=>(e.push(...t.map((e=>e.includes(\"&\")?e.replace(/&/g,/[ +>|~]/.test(r)&&/&.*&/.test(e)?`:is(${r})`:r):r+\" \"+e))),e)),[]):t,m=(e,t)=>e in b&&\"string\"==typeof t?t.replace(/^((?:[^]*[^\\w-])?)(fit-content|stretch)((?:[^\\w-][^]*)?)$/,((t,r,n,i)=>r+(\"stretch\"===n?`-moz-available${i};${d(e)}:${r}-webkit-fill-available`:`-moz-fit-content${i};${d(e)}:${r}fit-content`)+i)):String(t),b={blockSize:1,height:1,inlineSize:1,maxBlockSize:1,maxHeight:1,maxInlineSize:1,maxWidth:1,minBlockSize:1,minHeight:1,minInlineSize:1,minWidth:1,width:1},S=e=>e?e+\"-\":\"\",k=(e,t,r)=>e.replace(/([+-])?((?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[Ee][+-]?\\d+)?)?(\\$|--)([$\\w-]+)/g,((e,n,i,o,l)=>\"$\"==o==!!i?e:(n||\"--\"==o?\"calc(\":\"\")+\"var(--\"+(\"$\"===o?S(t)+(l.includes(\"$\")?\"\":S(r))+l.replace(/\\$/g,\"-\"):l)+\")\"+(n||\"--\"==o?\"*\"+(n||\"\")+(i||\"1\")+\")\":\"\"))),y=/\\s*,\\s*(?![^()]*\\))/,B=Object.prototype.toString,$=(e,t,r,n,i)=>{let o,l,s;const a=(e,t,r)=>{let c,g;const p=e=>{for(c in e){const R=64===c.charCodeAt(0),z=R&&Array.isArray(e[c])?e[c]:[e[c]];for(g of z){const e=/[A-Z]/.test($=c)?$:$.replace(/-[^]/g,(e=>e[1].toUpperCase())),z=\"object\"==typeof g&&g&&g.toString===B&&(!n.utils[e]||!t.length);if(e in n.utils&&!z){const t=n.utils[e];if(t!==l){l=t,p(t(g)),l=null;continue}}else if(e in u){const t=u[e];if(t!==s){s=t,p(t(g)),s=null;continue}}if(R&&(b=c.slice(1)in n.media?\"@media \"+n.media[c.slice(1)]:c,c=b.replace(/\\(\\s*([\\w-]+)\\s*(=|<|<=|>|>=)\\s*([\\w-]+)\\s*(?:(<|<=|>|>=)\\s*([\\w-]+)\\s*)?\\)/g,((e,t,r,n,i,o)=>{const l=h.test(t),s=.0625*(l?-1:1),[a,c]=l?[n,t]:[t,n];return\"(\"+(\"=\"===r[0]?\"\":\">\"===r[0]===l?\"max-\":\"min-\")+a+\":\"+(\"=\"!==r[0]&&1===r.length?c.replace(h,((e,t,n)=>Number(t)+s*(\">\"===r?1:-1)+n)):c)+(i?\") and (\"+(\">\"===i[0]?\"min-\":\"max-\")+a+\":\"+(1===i.length?o.replace(h,((e,t,r)=>Number(t)+s*(\">\"===i?-1:1)+r)):o):\"\")+\")\"}))),z){const e=R?r.concat(c):[...r],n=R?[...t]:f(t,c.split(y));void 0!==o&&i(x(...o)),o=void 0,a(g,n,e)}else void 0===o&&(o=[[],t,r]),c=R||36!==c.charCodeAt(0)?c:`--${S(n.prefix)}${c.slice(1).replace(/\\$/g,\"-\")}`,g=z?g:\"number\"==typeof g?g&&e in I?String(g)+\"px\":String(g):k(m(e,null==g?\"\":g),n.prefix,n.themeMap[e]),o[0].push(`${R?`${c} `:`${d(c)}:`}${g}`)}}var b,$};p(e),void 0!==o&&i(x(...o)),o=void 0};a(e,t,r)},x=(e,t,r)=>`${r.map((e=>`${e}{`)).join(\"\")}${t.length?`${t.join(\",\")}{`:\"\"}${e.join(\";\")}${t.length?\"}\":\"\"}${Array(r.length?r.length+1:0).join(\"}\")}`,I={animationDelay:1,animationDuration:1,backgroundSize:1,blockSize:1,border:1,borderBlock:1,borderBlockEnd:1,borderBlockEndWidth:1,borderBlockStart:1,borderBlockStartWidth:1,borderBlockWidth:1,borderBottom:1,borderBottomLeftRadius:1,borderBottomRightRadius:1,borderBottomWidth:1,borderEndEndRadius:1,borderEndStartRadius:1,borderInlineEnd:1,borderInlineEndWidth:1,borderInlineStart:1,borderInlineStartWidth:1,borderInlineWidth:1,borderLeft:1,borderLeftWidth:1,borderRadius:1,borderRight:1,borderRightWidth:1,borderSpacing:1,borderStartEndRadius:1,borderStartStartRadius:1,borderTop:1,borderTopLeftRadius:1,borderTopRightRadius:1,borderTopWidth:1,borderWidth:1,bottom:1,columnGap:1,columnRule:1,columnRuleWidth:1,columnWidth:1,containIntrinsicSize:1,flexBasis:1,fontSize:1,gap:1,gridAutoColumns:1,gridAutoRows:1,gridTemplateColumns:1,gridTemplateRows:1,height:1,inlineSize:1,inset:1,insetBlock:1,insetBlockEnd:1,insetBlockStart:1,insetInline:1,insetInlineEnd:1,insetInlineStart:1,left:1,letterSpacing:1,margin:1,marginBlock:1,marginBlockEnd:1,marginBlockStart:1,marginBottom:1,marginInline:1,marginInlineEnd:1,marginInlineStart:1,marginLeft:1,marginRight:1,marginTop:1,maxBlockSize:1,maxHeight:1,maxInlineSize:1,maxWidth:1,minBlockSize:1,minHeight:1,minInlineSize:1,minWidth:1,offsetDistance:1,offsetRotate:1,outline:1,outlineOffset:1,outlineWidth:1,overflowClipMargin:1,padding:1,paddingBlock:1,paddingBlockEnd:1,paddingBlockStart:1,paddingBottom:1,paddingInline:1,paddingInlineEnd:1,paddingInlineStart:1,paddingLeft:1,paddingRight:1,paddingTop:1,perspective:1,right:1,rowGap:1,scrollMargin:1,scrollMarginBlock:1,scrollMarginBlockEnd:1,scrollMarginBlockStart:1,scrollMarginBottom:1,scrollMarginInline:1,scrollMarginInlineEnd:1,scrollMarginInlineStart:1,scrollMarginLeft:1,scrollMarginRight:1,scrollMarginTop:1,scrollPadding:1,scrollPaddingBlock:1,scrollPaddingBlockEnd:1,scrollPaddingBlockStart:1,scrollPaddingBottom:1,scrollPaddingInline:1,scrollPaddingInlineEnd:1,scrollPaddingInlineStart:1,scrollPaddingLeft:1,scrollPaddingRight:1,scrollPaddingTop:1,shapeMargin:1,textDecoration:1,textDecorationThickness:1,textIndent:1,textUnderlineOffset:1,top:1,transitionDelay:1,transitionDuration:1,verticalAlign:1,width:1,wordSpacing:1},R=e=>String.fromCharCode(e+(e>25?39:97)),z=e=>(e=>{let t,r=\"\";for(t=Math.abs(e);t>52;t=t/52|0)r=R(t%52)+r;return R(t%52)+r})(((e,t)=>{let r=t.length;for(;r;)e=33*e^t.charCodeAt(--r);return e})(5381,JSON.stringify(e))>>>0),W=[\"themed\",\"global\",\"styled\",\"onevar\",\"resonevar\",\"allvar\",\"inline\"],j=e=>{if(e.href&&!e.href.startsWith(location.origin))return!1;try{return!!e.cssRules}catch(e){return!1}},E=e=>{let t;const r=()=>{const{cssRules:e}=t.sheet;return[].map.call(e,((r,n)=>{const{cssText:i}=r;let o=\"\";if(i.startsWith(\"--sxs\"))return\"\";if(e[n-1]&&(o=e[n-1].cssText).startsWith(\"--sxs\")){if(!r.cssRules.length)return\"\";for(const e in t.rules)if(t.rules[e].group===r)return`--sxs{--sxs:${[...t.rules[e].cache].join(\" \")}}${i}`;return r.cssRules.length?`${o}${i}`:\"\"}return i})).join(\"\")},n=()=>{if(t){const{rules:e,sheet:r}=t;if(!r.deleteRule){for(;3===Object(Object(r.cssRules)[0]).type;)r.cssRules.splice(0,1);r.cssRules=[]}for(const t in e)delete e[t]}const i=Object(e).styleSheets||[];for(const e of i)if(j(e)){for(let i=0,o=e.cssRules;o[i];++i){const l=Object(o[i]);if(1!==l.type)continue;const s=Object(o[i+1]);if(4!==s.type)continue;++i;const{cssText:a}=l;if(!a.startsWith(\"--sxs\"))continue;const c=a.slice(14,-3).trim().split(/\\s+/),d=W[c[0]];d&&(t||(t={sheet:e,reset:n,rules:{},toString:r}),t.rules[d]={group:s,index:i,cache:new Set(c)})}if(t)break}if(!t){const i=(e,t)=>({type:t,cssRules:[],insertRule(e,t){this.cssRules.splice(t,0,i(e,{import:3,undefined:1}[(e.toLowerCase().match(/^@([a-z]+)/)||[])[1]]||4))},get cssText(){return\"@media{}\"===e?`@media{${[].map.call(this.cssRules,(e=>e.cssText)).join(\"\")}}`:e}});t={sheet:e?(e.head||e).appendChild(document.createElement(\"style\")).sheet:i(\"\",\"text/css\"),rules:{},reset:n,toString:r}}const{sheet:o,rules:l}=t;for(let e=W.length-1;e>=0;--e){const t=W[e];if(!l[t]){const r=W[e+1],n=l[r]?l[r].index:o.cssRules.length;o.insertRule(\"@media{}\",n),o.insertRule(`--sxs{--sxs:${e}}`,n),l[t]={group:o.cssRules[n+1],index:n,cache:new Set([e])}}v(l[t])}};return n(),t},v=e=>{const t=e.group;let r=t.cssRules.length;e.apply=e=>{try{t.insertRule(e,r),++r}catch(e){}}},T=Symbol(),w=o(),M=(e,t)=>w(e,(()=>(...r)=>{let n={type:null,composers:new Set};for(const t of r)if(null!=t)if(t[l]){null==n.type&&(n.type=t[l].type);for(const e of t[l].composers)n.composers.add(e)}else t.constructor!==Object||t.$$typeof?null==n.type&&(n.type=t):n.composers.add(C(t,e));return null==n.type&&(n.type=\"span\"),n.composers.size||n.composers.add([\"PJLV\",{},[],[],{},[]]),P(e,n,t)})),C=({variants:e,compoundVariants:t,defaultVariants:r,...n},i)=>{const o=`${S(i.prefix)}c-${z(n)}`,l=[],s=[],d=Object.create(null),g=[];for(const e in r)d[e]=String(r[e]);if(\"object\"==typeof e&&e)for(const t in e){p=d,u=t,c.call(p,u)||(d[t]=\"undefined\");const r=e[t];for(const e in r){const n={[t]:String(e)};\"undefined\"===String(e)&&g.push(t);const i=r[e],o=[n,i,!a(i)];l.push(o)}}var p,u;if(\"object\"==typeof t&&t)for(const e of t){let{css:t,...r}=e;t=\"object\"==typeof t&&t||{};for(const e in r)r[e]=String(r[e]);const n=[r,t,!a(t)];s.push(n)}return[o,n,l,s,d,g]},P=(e,t,r)=>{const[n,i,o,a]=L(t.composers),c=\"function\"==typeof t.type||t.type.$$typeof?(e=>{function t(){for(let r=0;rt.rules[e]={apply:r=>t[T].push([e,r])})),t})(r):null,d=(c||r).rules,g=`.${n}${i.length>1?`:where(.${i.slice(1).join(\".\")})`:\"\"}`,p=l=>{l=\"object\"==typeof l&&l||A;const{css:s,...p}=l,u={};for(const e in o)if(delete p[e],e in l){let t=l[e];\"object\"==typeof t&&t?u[e]={\"@initial\":o[e],...t}:(t=String(t),u[e]=\"undefined\"!==t||a.has(e)?t:o[e])}else u[e]=o[e];const h=new Set([...i]);for(const[n,i,o,l]of t.composers){r.rules.styled.cache.has(n)||(r.rules.styled.cache.add(n),$(i,[`.${n}`],[],e,(e=>{d.styled.apply(e)})));const t=O(o,u,e.media),s=O(l,u,e.media,!0);for(const i of t)if(void 0!==i)for(const[t,o,l]of i){const i=`${n}-${z(o)}-${t}`;h.add(i);const s=(l?r.rules.resonevar:r.rules.onevar).cache,a=l?d.resonevar:d.onevar;s.has(i)||(s.add(i),$(o,[`.${i}`],[],e,(e=>{a.apply(e)})))}for(const t of s)if(void 0!==t)for(const[i,o]of t){const t=`${n}-${z(o)}-${i}`;h.add(t),r.rules.allvar.cache.has(t)||(r.rules.allvar.cache.add(t),$(o,[`.${t}`],[],e,(e=>{d.allvar.apply(e)})))}}if(\"object\"==typeof s&&s){const t=`${n}-i${z(s)}-css`;h.add(t),r.rules.inline.cache.has(t)||(r.rules.inline.cache.add(t),$(s,[`.${t}`],[],e,(e=>{d.inline.apply(e)})))}for(const e of String(l.className||\"\").trim().split(/\\s+/))e&&h.add(e);const f=p.className=[...h].join(\" \");return{type:t.type,className:f,selector:g,props:p,toString:()=>f,deferredInjector:c}};return s(p,{className:n,selector:g,[l]:t,toString:()=>(r.rules.styled.cache.has(n)||p(),n)})},L=e=>{let t=\"\";const r=[],n={},i=[];for(const[o,,,,l,s]of e){\"\"===t&&(t=o),r.push(o),i.push(...s);for(const e in l){const t=l[e];(void 0===n[e]||\"undefined\"!==t||s.includes(t))&&(n[e]=t)}}return[t,r,n,new Set(i)]},O=(e,t,r,n)=>{const i=[];e:for(let[o,l,s]of e){if(s)continue;let e,a=0,c=!1;for(e in o){const n=o[e];let i=t[e];if(i!==n){if(\"object\"!=typeof i||!i)continue e;{let e,t,o=0;for(const l in i){if(n===String(i[l])){if(\"@initial\"!==l){const e=l.slice(1);(t=t||[]).push(e in r?r[e]:l.replace(/^@media ?/,\"\")),c=!0}a+=o,e=!0}++o}if(t&&t.length&&(l={[\"@media \"+t.join(\", \")]:l}),!e)continue e}}}(i[a]=i[a]||[]).push([n?\"cv\":`${e}-${o[e]}`,l,c])}return i},A={},N=o(),D=(e,t)=>N(e,(()=>(...r)=>{const n=()=>{for(let n of r){n=\"object\"==typeof n&&n||{};let r=z(n);if(!t.rules.global.cache.has(r)){if(t.rules.global.cache.add(r),\"@import\"in n){let e=[].indexOf.call(t.sheet.cssRules,t.rules.themed.group)-1;for(let r of[].concat(n[\"@import\"]))r=r.includes('\"')||r.includes(\"'\")?r:`\"${r}\"`,t.sheet.insertRule(`@import ${r};`,e++);delete n[\"@import\"]}$(n,[],[],e,(e=>{t.rules.global.apply(e)}))}}return\"\"};return s(n,{toString:n})})),H=o(),V=(e,t)=>H(e,(()=>r=>{const n=`${S(e.prefix)}k-${z(r)}`,i=()=>{if(!t.rules.global.cache.has(n)){t.rules.global.cache.add(n);const i=[];$(r,[],[],e,(e=>i.push(e)));const o=`@keyframes ${n}{${i.join(\"\")}}`;t.rules.global.apply(o)}return n};return s(i,{get name(){return i()},toString:i})})),G=class{constructor(e,t,r,n){this.token=null==e?\"\":String(e),this.value=null==t?\"\":String(t),this.scale=null==r?\"\":String(r),this.prefix=null==n?\"\":String(n)}get computedValue(){return\"var(\"+this.variable+\")\"}get variable(){return\"--\"+S(this.prefix)+S(this.scale)+this.token}toString(){return this.computedValue}},F=o(),J=(e,t)=>F(e,(()=>(r,n)=>{n=\"object\"==typeof r&&r||Object(n);const i=`.${r=(r=\"string\"==typeof r?r:\"\")||`${S(e.prefix)}t-${z(n)}`}`,o={},l=[];for(const t in n){o[t]={};for(const r in n[t]){const i=`--${S(e.prefix)}${t}-${r}`,s=k(String(n[t][r]),e.prefix,t);o[t][r]=new G(r,s,t,e.prefix),l.push(`${i}:${s}`)}}const s=()=>{if(l.length&&!t.rules.themed.cache.has(r)){t.rules.themed.cache.add(r);const i=`${n===e.theme?\":root,\":\"\"}.${r}{${l.join(\";\")}}`;t.rules.themed.apply(i)}return r};return{...o,get className(){return s()},selector:i,toString:s}})),U=o();import Z from\"react\";var X,Y=o(),q=e=>{const t=(e=>{let t=!1;const r=U(e,(e=>{t=!0;const r=\"prefix\"in(e=\"object\"==typeof e&&e||{})?String(e.prefix):\"\",i=\"object\"==typeof e.media&&e.media||{},o=\"object\"==typeof e.root?e.root||null:globalThis.document||null,l=\"object\"==typeof e.theme&&e.theme||{},s={prefix:r,media:i,theme:l,themeMap:\"object\"==typeof e.themeMap&&e.themeMap||{...n},utils:\"object\"==typeof e.utils&&e.utils||{}},a=E(o),c={css:M(s,a),globalCss:D(s,a),keyframes:V(s,a),createTheme:J(s,a),reset(){a.reset(),c.theme.toString()},theme:{},sheet:a,config:s,prefix:r,getCssText:a.toString,toString:a.toString};return String(c.theme=c.createTheme(l)),c}));return t||r.reset(),r})(e);return t.styled=(({config:e,sheet:t})=>Y(e,(()=>{const r=M(e,t);return(...e)=>{const t=r(...e),n=t[l].type,i=Z.forwardRef(((e,r)=>{const i=e&&e.as||n,{props:o,deferredInjector:l}=t(e);return delete o.as,o.ref=r,l?Z.createElement(Z.Fragment,null,Z.createElement(i,o),Z.createElement(l,null)):Z.createElement(i,o)}));return i.className=t.className,i.displayName=`Styled.${n.displayName||n.name||n}`,i.selector=t.selector,i.toString=()=>t.selector,i[l]=t[l],i}})))(t),t},K=()=>X||(X=q()),Q=(...e)=>K().createTheme(...e),_=(...e)=>K().globalCss(...e),ee=(...e)=>K().keyframes(...e),te=(...e)=>K().css(...e),re=(...e)=>K().styled(...e);export{q as createStitches,Q as createTheme,te as css,n as defaultThemeMap,_ as globalCss,ee as keyframes,re as styled};\n//# sourceMappingUrl=index.map","import{defaultThemeMap as e}from\"@stitches/react\";export const defaultTokens={fonts:{sans:\"-apple-system, BlinkMacSystemFont, 'Segoe UI','Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans','Helvetica Neue', sans-serif;\",mono:\"Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono','Courier New', monospace;\"},fontSizes:{tiny:\".75rem\",xs:\"0.875rem\",base:\"1rem\",sm:\"1.25rem\",md:\"1.5rem\",lg:\"2.25rem\",xl:\"3rem\"},fontWeights:{hairline:100,thin:200,light:300,normal:400,medium:500,semibold:600,bold:700,extrabold:800,black:900},lineHeights:{xs:1,sm:1.25,md:1.5,lg:1.625,xl:1.75},letterSpacings:{tighter:\"-0.05em\",tight:\"-0.025em\",normal:\"0\",wide:\"0.025em\",wider:\"0.05em\",widest:\"0.1em\"},space:{0:\"0rem\",xs:\"0.5rem\",sm:\"0.75rem\",md:\"1rem\",lg:\"1.25rem\",xl:\"2.25rem\",px:\"1px\",1:\"0.125rem\",2:\"0.25rem\",3:\"0.375rem\",4:\"0.5rem\",5:\"0.625rem\",6:\"0.75rem\",7:\"0.875rem\",8:\"1rem\",9:\"1.25rem\",10:\"1.5rem\",11:\"1.75rem\",12:\"2rem\",13:\"2.25rem\",14:\"2.5rem\",15:\"2.75rem\",16:\"3rem\",17:\"3.5rem\",18:\"4rem\",20:\"5rem\",24:\"6rem\",28:\"7rem\",32:\"8rem\",36:\"9rem\",40:\"10rem\",44:\"11rem\",48:\"12rem\",52:\"13rem\",56:\"14rem\",60:\"15rem\",64:\"16rem\",72:\"18rem\",80:\"20rem\",96:\"24rem\"},radii:{xs:\"7px\",sm:\"9px\",md:\"12px\",base:\"14px\",lg:\"14px\",xl:\"18px\",squared:\"33%\",rounded:\"50%\",pill:\"9999px\"},zIndices:{1:\"100\",2:\"200\",3:\"300\",4:\"400\",5:\"500\",10:\"1000\",max:\"9999\"},borderWeights:{light:\"1px\",normal:\"2px\",bold:\"3px\",extrabold:\"4px\",black:\"5px\"},transitions:{default:\"all 250ms ease\",button:\"background 0.25s ease 0s, color 0.25s ease 0s, border-color 0.25s ease 0s, box-shadow 0.25s ease 0s, transform 0.25s ease 0s, opacity 0.25s ease 0s\",avatar:\"box-shadow 0.25s ease 0s, opacity 0.25s ease 0s\",link:\"opacity 0.25s ease 0s, background 0.25s ease 0s\",card:\"transform 0.25s ease 0s, box-shadow 0.25s ease 0s\"},breakpoints:{xs:\"650px\",sm:\"960px\",md:\"1280px\",lg:\"1400px\",xl:\"1920px\"}};export const defaultColors={white:\"#ffffff\",black:\"#000000\",primaryLight:\"$blue200\",primaryLightHover:\"$blue300\",primaryLightActive:\"$blue400\",primaryLightContrast:\"$blue600\",primary:\"$blue600\",primaryBorder:\"$blue500\",primaryBorderHover:\"$blue600\",primarySolidHover:\"$blue700\",primarySolidContrast:\"$white\",primaryShadow:\"$blue500\",secondaryLight:\"$purple200\",secondaryLightHover:\"$purple300\",secondaryLightActive:\"$purple400\",secondaryLightContrast:\"$purple600\",secondary:\"$purple600\",secondaryBorder:\"$purple500\",secondaryBorderHover:\"$purple600\",secondarySolidHover:\"$purple700\",secondarySolidContrast:\"$white\",secondaryShadow:\"$purple500\",successLight:\"$green200\",successLightHover:\"$green300\",successLightActive:\"$green400\",successLightContrast:\"$green700\",success:\"$green600\",successBorder:\"$green500\",successBorderHover:\"$green600\",successSolidHover:\"$green700\",successSolidContrast:\"$white\",successShadow:\"$green500\",warningLight:\"$yellow200\",warningLightHover:\"$yellow300\",warningLightActive:\"$yellow400\",warningLightContrast:\"$yellow700\",warning:\"$yellow600\",warningBorder:\"$yellow500\",warningBorderHover:\"$yellow600\",warningSolidHover:\"$yellow700\",warningSolidContrast:\"$white\",warningShadow:\"$yellow500\",errorLight:\"$red200\",errorLightHover:\"$red300\",errorLightActive:\"$red400\",errorLightContrast:\"$red600\",error:\"$red600\",errorBorder:\"$red500\",errorBorderHover:\"$red600\",errorSolidHover:\"$red700\",errorSolidContrast:\"$white\",errorShadow:\"$red500\",gradient:\"linear-gradient(112deg, $cyan600 -63.59%, $pink600 -20.3%, $blue600 70.46%)\",accents0:\"$gray50\",accents1:\"$gray100\",accents2:\"$gray200\",accents3:\"$gray300\",accents4:\"$gray400\",accents5:\"$gray500\",accents6:\"$gray600\",accents7:\"$gray700\",accents8:\"$gray800\",accents9:\"$gray900\",border:\"$gray300\"};export const defaultMedia={xs:`(min-width: ${defaultTokens.breakpoints.xs})`,sm:`(min-width: ${defaultTokens.breakpoints.sm})`,md:`(min-width: ${defaultTokens.breakpoints.md})`,lg:`(min-width: ${defaultTokens.breakpoints.lg})`,xl:`(min-width: ${defaultTokens.breakpoints.xl})`,xsMax:`(max-width: ${defaultTokens.breakpoints.xs})`,smMax:`(max-width: ${defaultTokens.breakpoints.sm})`,mdMax:`(max-width: ${defaultTokens.breakpoints.md})`,lgMax:`(max-width: ${defaultTokens.breakpoints.lg})`,xlMax:`(max-width: ${defaultTokens.breakpoints.xl})`,motion:\"(prefers-reduced-motion: reduce)\",safari:\"not all and (min-resolution:.001dpcm)\",hover:\"(any-hover: hover)\",dark:\"(prefers-color-scheme: dark)\",light:\"(prefers-color-scheme: light)\"};export const defaultUtils={p:e=>({padding:e}),pt:e=>({paddingTop:e}),pr:e=>({paddingRight:e}),pb:e=>({paddingBottom:e}),pl:e=>({paddingLeft:e}),px:e=>({paddingLeft:e,paddingRight:e}),py:e=>({paddingTop:e,paddingBottom:e}),m:e=>({margin:e}),mt:e=>({marginTop:e}),mr:e=>({marginRight:e}),mb:e=>({marginBottom:e}),ml:e=>({marginLeft:e}),mx:e=>({marginLeft:e,marginRight:e}),my:e=>({marginTop:e,marginBottom:e}),ta:e=>({textAlign:e}),tt:e=>({textTransform:e}),to:e=>({textOverflow:e}),d:e=>({display:e}),dflex:e=>({display:\"flex\",alignItems:e,justifyContent:e}),fd:e=>({flexDirection:e}),fw:e=>({flexWrap:e}),ai:e=>({alignItems:e}),ac:e=>({alignContent:e}),jc:e=>({justifyContent:e}),as:e=>({alignSelf:e}),fg:e=>({flexGrow:e}),fs:e=>({fontSize:e}),fb:e=>({flexBasis:e}),bc:e=>({backgroundColor:e}),bf:e=>({backdropFilter:e}),bg:e=>({background:e}),bgBlur:e=>({bf:\"saturate(180%) blur(10px)\",bg:`${e}66`}),bgColor:e=>({backgroundColor:e}),backgroundClip:e=>({WebkitBackgroundClip:e,backgroundClip:e}),bgClip:e=>({WebkitBackgroundClip:e,backgroundClip:e}),br:e=>({borderRadius:e}),bw:e=>({borderWidth:e}),btrr:e=>({borderTopRightRadius:e}),bbrr:e=>({borderBottomRightRadius:e}),bblr:e=>({borderBottomLeftRadius:e}),btlr:e=>({borderTopLeftRadius:e}),bs:e=>({boxShadow:e}),normalShadow:e=>({boxShadow:`0 4px 14px 0 $colors${e}`}),normalShadowVar:e=>({boxShadow:`0 4px 14px 0 ${e}`}),lh:e=>({lineHeight:e}),ov:e=>({overflow:e}),ox:e=>({overflowX:e}),oy:e=>({overflowY:e}),pe:e=>({pointerEvents:e}),events:e=>({pointerEvents:e}),us:e=>({WebkitUserSelect:e,userSelect:e}),userSelect:e=>({WebkitUserSelect:e,userSelect:e}),w:e=>({width:e}),h:e=>({height:e}),mw:e=>({maxWidth:e}),maxW:e=>({maxWidth:e}),mh:e=>({maxHeight:e}),maxH:e=>({maxHeight:e}),size:e=>({width:e,height:e}),minSize:e=>({minWidth:e,minHeight:e,width:e,height:e}),sizeMin:e=>({minWidth:e,minHeight:e,width:e,height:e}),maxSize:e=>({maxWidth:e,maxHeight:e}),sizeMax:e=>({maxWidth:e,maxHeight:e}),appearance:e=>({WebkitAppearance:e,appearance:e}),scale:e=>({transform:`scale(${e})`}),linearGradient:e=>({backgroundImage:`linear-gradient(${e})`}),tdl:e=>({textDecorationLine:e}),textGradient:e=>({backgroundImage:`linear-gradient(${e})`,WebkitBackgroundClip:\"text\",WebkitTextFillColor:\"transparent\",\"&::selection\":{WebkitTextFillColor:\"$colors$text\"}})};export const defaultThemeMap={...e,width:\"space\",height:\"space\",minWidth:\"space\",maxWidth:\"space\",minHeight:\"space\",maxHeight:\"space\",flexBasis:\"space\",gridTemplateColumns:\"space\",gridTemplateRows:\"space\",blockSize:\"space\",minBlockSize:\"space\",maxBlockSize:\"space\",inlineSize:\"space\",minInlineSize:\"space\",maxInlineSize:\"space\",borderWidth:\"borderWeights\"};export default{prefix:\"nextui\",theme:{...defaultTokens,colors:defaultColors,shadows:{}},media:defaultMedia,utils:defaultUtils,themeMap:defaultThemeMap};","import{blue as o,purple as r,green as p,yellow as x,red as e,cyan as a,pink as g,gray as t}from\"./colors\";export default{colors:{background:\"$white\",foreground:\"$black\",backgroundContrast:\"$white\",...o,...r,...p,...x,...e,...a,...g,...t,text:\"$gray900\",link:\"$blue600\",codeLight:\"$pink100\",code:\"$pink600\",selection:\"$blue200\"},shadows:{xs:\"-4px 0 4px rgb(0 0 0 / 5%);\",sm:\"0 5px 20px -5px rgba(0, 0, 0, 0.1)\",md:\"0 8px 30px rgba(0, 0, 0, 0.15)\",lg:\"0 30px 60px rgba(0, 0, 0, 0.15)\",xl:\"0 40px 80px rgba(0, 0, 0, 0.25)\"}};","export const blue={blue50:\"#EDF5FF\",blue100:\"#E1EFFF\",blue200:\"#CEE4FE\",blue300:\"#B7D5F8\",blue400:\"#96C1F2\",blue500:\"#5EA2EF\",blue600:\"#0072F5\",blue700:\"#005FCC\",blue800:\"#004799\",blue900:\"#00254D\"};export const blueDark={blue50:\"#10253E\",blue100:\"#102C4C\",blue200:\"#0F3158\",blue300:\"#0D3868\",blue400:\"#0A4281\",blue500:\"#0952A5\",blue600:\"#0072F5\",blue700:\"#3694FF\",blue800:\"#3694FF\",blue900:\"#EAF4FF\"};","export const purple={purple50:\"#F7F2FD\",purple100:\"#F1E8FB\",purple200:\"#EADCF8\",purple300:\"#E0CBF5\",purple400:\"#D1B1F0\",purple500:\"#BC8EE9\",purple600:\"#7828C8\",purple700:\"#6622AA\",purple800:\"#4D1980\",purple900:\"#290E44\"};export const purpleDark={purple50:\"#1F0A33\",purple100:\"#240C3C\",purple200:\"#2E0F4D\",purple300:\"#3B1362\",purple400:\"#451773\",purple500:\"#571D91\",purple600:\"#7828C8\",purple700:\"#9750DD\",purple800:\"#B583E7\",purple900:\"#F7ECFC\"};","export const green={green50:\"#F1FDF7\",green100:\"#E8FCF1\",green200:\"#DAFBE8\",green300:\"#C8F9DD\",green400:\"#ADF5CC\",green500:\"#88F1B6\",green600:\"#17C964\",green700:\"#13A452\",green800:\"#108944\",green900:\"#06371B\"};export const greenDark={green50:\"#042F14\",green100:\"#06381B\",green200:\"#074A24\",green300:\"#0A6130\",green400:\"#0B7439\",green500:\"#0F9549\",green600:\"#17C964\",green700:\"#41EC8B\",green800:\"#78F2AD\",green900:\"#ECFDF4\"};","export const yellow={yellow50:\"#FEF9F0\",yellow100:\"#FEF5E7\",yellow200:\"#FDEFD8\",yellow300:\"#FCE7C5\",yellow400:\"#FBDBA7\",yellow500:\"#F9CB80\",yellow600:\"#F5A524\",yellow700:\"#B97509\",yellow800:\"#925D07\",yellow900:\"#4E3104\"};export const yellowDark={yellow50:\"#3A2503\",yellow100:\"#442B03\",yellow200:\"#583804\",yellow300:\"#704705\",yellow400:\"#845306\",yellow500:\"#A66908\",yellow600:\"#F5A524\",yellow700:\"#F6AD37\",yellow800:\"#F8C572\",yellow900:\"#FEF7EC\"};","export const red={red50:\"#FEF0F5\",red100:\"#FEE7EF\",red200:\"#FDD8E5\",red300:\"#FCC5D8\",red400:\"#FAA8C5\",red500:\"#F881AB\",red600:\"#F31260\",red700:\"#B80A47\",red800:\"#910838\",red900:\"#4E041E\"};export const redDark={red50:\"#300313\",red100:\"#300313\",red200:\"#44041A\",red300:\"#5C0523\",red400:\"#6F062B\",red500:\"#910838\",red600:\"#F31260\",red700:\"#F4256D\",red800:\"#F75F94\",red900:\"#FDD8E5\"};","export const cyan={cyan50:\"#F0FCFF\",cyan100:\"#E6FAFE\",cyan200:\"#D7F8FE\",cyan300:\"#C3F4FD\",cyan400:\"#A5EEFD\",cyan500:\"#7EE7FC\",cyan600:\"#06B7DB\",cyan700:\"#09AACD\",cyan800:\"#0E8AAA\",cyan900:\"#053B48\"};export const cyanDark={cyan50:\"#012A32\",cyan100:\"#023A46\",cyan200:\"#024B5A\",cyan300:\"#036072\",cyan400:\"#037086\",cyan500:\"#048EA9\",cyan600:\"#06B7DB\",cyan700:\"#33D9FA\",cyan800:\"#6FE4FB\",cyan900:\"#EBFBFE\"};","export const pink={pink50:\"#FFF0FB\",pink100:\"#FFE5F8\",pink200:\"#FFD6F3\",pink300:\"#FFC2EE\",pink400:\"#FFA3E5\",pink500:\"#FF7AD9\",pink600:\"#FF4ECD\",pink700:\"#D6009A\",pink800:\"#B80084\",pink900:\"#4D0037\"};export const pinkDark={pink50:\"#330025\",pink100:\"#470033\",pink200:\"#5C0042\",pink300:\"#750054\",pink400:\"#8A0063\",pink500:\"#AD007C\",pink600:\"#FF4ECD\",pink700:\"#FF2EC4\",pink800:\"#FF6BD5\",pink900:\"#FFEBF9\"};","export const gray={gray50:\"#F5F5F5\",gray100:\"#EDEDED\",gray200:\"#EBEBEB\",gray300:\"#E0E0E0\",gray400:\"#D4D4D4\",gray500:\"#C2C2C2\",gray600:\"#A3A3A3\",gray700:\"#808080\",gray800:\"#666666\",gray900:\"#111111\"};export const grayDark={gray50:\"#161616\",gray100:\"#262626\",gray200:\"#333333\",gray300:\"#4D4D4D\",gray400:\"#666666\",gray500:\"#808080\",gray600:\"#A3A3A3\",gray700:\"#C9C9C9\",gray800:\"#E8E8E8\",gray900:\"#F5F5F5\"};","import{blueDark as r,greenDark as e,purpleDark as o,yellowDark as t,redDark as i,cyanDark as p,pinkDark as g,grayDark as a}from\"./colors\";export default{colors:{background:\"$black\",foreground:\"$white\",backgroundContrast:\"$accents0\",...r,...o,...e,...t,...i,...p,...g,...a,primaryLight:\"$blue50\",primaryLightHover:\"$blue100\",primaryLightActive:\"$blue200\",primaryLightContrast:\"$blue600\",secondaryLight:\"$purple50\",secondaryLightHover:\"$purple100\",secondaryLightActive:\"$purple200\",secondaryLightContrast:\"$purple800\",secondary:\"$purple700\",secondaryBorder:\"$purple500\",secondaryBorderHover:\"$purple600\",secondarySolidHover:\"$purple700\",secondaryShadow:\"$purple500\",successLight:\"$green50\",successLightHover:\"$green100\",successLightActive:\"$green200\",warningLight:\"$yellow50\",warningLightHover:\"$yellow100\",warningLightActive:\"$yellow200\",errorLight:\"$red50\",errorLightHover:\"$red100\",errorLightActive:\"$red200\",errorLightContrast:\"$red700\",text:\"$gray900\",link:\"$blue700\",codeLight:\"$cyan50\",code:\"$cyan600\",selection:\"$pink800\"},shadows:{xs:\"-4px 0 15px rgb(0 0 0 / 50%)\",sm:\"0 5px 20px -5px rgba(20, 20, 20, 0.1)\",md:\"0 8px 30px rgba(20, 20, 20, 0.15)\",lg:\"0 30px 60px rgba(20, 20, 20, 0.15)\",xl:\"0 40px 80px rgba(20, 20, 20, 0.25)\"}};","export default function t(o){for(var r,e,l=Array.prototype.slice.call(arguments,1);l.length;)for(e in r=l.shift())r.hasOwnProperty(e)&&(\"object\"==typeof o[e]&&o[e]&&\"[object Array]\"!==Object.prototype.toString.call(o[e])&&\"object\"==typeof r[e]&&null!==r[e]?o[e]=t({},o[e],r[e]):o[e]=r[e]);return o}","import{createStitches as e}from\"@stitches/react\";import o from\"./common\";import t from\"./light-theme\";import s from\"./dark-theme\";import r from\"../utils/deep-merge\";export const getStitchesTheme=e=>r(e,o.theme);const c=e({...o,theme:{...o.theme,shadows:{...t.shadows},colors:{...o.theme.colors,...t.colors}}});export const createThemeBase=c.createTheme;export const styled=c.styled;export const css=c.css;export const globalCss=c.globalCss;export const keyframes=c.keyframes;export const getCssText=c.getCssText;export const theme=c.theme;export const config=c.config;export const sharedFocus=css({WebkitTapHighlightColor:\"transparent\",\"&:focus:not(&:focus-visible)\":{boxShadow:\"none\"},\"&:focus\":{outline:\"none\",boxShadow:\"0 0 0 2px $colors$background, 0 0 0 4px $colors$primary\"},\"@safari\":{WebkitTapHighlightColor:\"transparent\",outline:\"none\"}});export const cssFocusVisible=css({variants:{isFocusVisible:{true:{outline:\"transparent solid 2px\",outlineOffset:\"2px\",boxShadow:\"0 0 0 2px $colors$background, 0 0 0 4px $colors$primary\"},false:{outline:\"none\"}}}});export const sharedVisuallyHidden=css({border:\"0px\",clip:\"rect(0px, 0px, 0px, 0px)\",height:\"1px\",width:\"1px\",margin:\"-1px\",padding:\"0px\",overflow:\"hidden\",whiteSpace:\"nowrap\",position:\"absolute\"});export const createTheme=({type:e,theme:o,className:c})=>{if(!e)throw new Error(\"Theme type is required\");return createThemeBase(c||`${e}-theme`,r(\"dark\"===e?s:t,o))};","import{styled as i}from\"../theme/stitches.config\";export const StyledGridContainer=i(\"div\",{});export const StyledGridItem=i(\"div\",{margin:0,boxSizing:\"border-box\",padding:\"$$gridGapUnit\"});","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e))for(t=0;t(e.defaultProps=t,e);","import t,{useMemo as s}from\"react\";import{StyledGridItem as e}from\"./grid.styles\";import i from\"../utils/clsx\";import r from\"../utils/with-defaults\";import{jsx as m}from\"react/jsx-runtime\";const l=t=>{const s=0===t?\"none\":\"inherit\";if(\"number\"==typeof t){const e=100/12*t,i=e>100?\"100%\":e<0?\"0\":`${e}%`;return{flexGrow:0,display:s,maxWidth:i,flexBasis:i}}return{flexGrow:1,display:s,maxWidth:\"100%\",flexBasis:\"0\"}},n=t.forwardRef((({xs:t,sm:r,md:n,lg:o,xl:x,css:a,justify:d,direction:c,alignItems:f,alignContent:u,children:g,className:p,...y},h)=>{const j=s((()=>{const s={xs:t,sm:r,md:n,lg:o,xl:x};return Object.keys(s).reduce(((t,e)=>void 0!==s[e]&&!1!==s[e]?`${t} ${e}`:t),\"\").trim()}),[t,r,n,o,x]);return m(e,{ref:h,className:i(\"nextui-grid-item\",j,p),css:{alignItems:f,alignContent:u,justifyContent:d,flexDirection:c,\"&.xs\":{...l(t)},\"@xsMax\":{\"&.xs\":{...l(t)}},\"@sm\":{\"&.sm\":{...l(r)}},\"@md\":{\"&.md\":{...l(n)}},\"@lg\":{\"&.lg\":{...l(o)}},\"@xl\":{\"&.xl\":{...l(x)}},...a},...y,children:g})}));n.displayName=\"NextUI.GridItem\",n.toString=()=>\".nextui-grid-item\";export default r(n,{xs:!1,sm:!1,md:!1,lg:!1,xl:!1,className:\"\"});","import r from\"react\";import t from\"./grid-item\";import{jsx as e}from\"react/jsx-runtime\";const i=r.forwardRef((({children:r,css:i,...o},m)=>e(t,{ref:m,css:{...i},...o,children:r})));i.displayName=\"NextUI.Grid\",i.toString=()=>\".nextui-grid\";export default i;","import r,{useMemo as i}from\"react\";import a from\"./grid-item\";import t from\"../utils/clsx\";import e from\"../utils/with-defaults\";import{jsx as s}from\"react/jsx-runtime\";const c=r.forwardRef((({gap:r,wrap:e,css:c,children:o,className:n,...p},l)=>{const m=i((()=>`calc(${r} * $space$3)`),[r]);return s(a,{ref:l,className:t(\"nextui-grid-container\",n),css:{$$gridGapUnit:m,display:\"flex\",flexWrap:e,boxSizing:\"border-box\",margin:\"calc(-1 * $$gridGapUnit)\",width:\"calc(100% + $$gridGapUnit * 2)\",...c},...p,children:o})}));c.displayName=\"NextUI.GridContainer\",c.toString=()=>\".nextui-grid-container\";export default e(c,{gap:0,wrap:\"wrap\",className:\"\"});","import r from\"./grid\";import t from\"./grid-container\";export{StyledGridContainer,StyledGridItem}from\"./grid.styles\";r.Container=t;export default r;","import{keyframes as o,styled as t}from\"../theme/stitches.config\";const i=o({\"0%\":{backgroundPosition:\"200% 0\"},to:{backgroundPosition:\"-200% 0\"}});export const StyledImageContainer=t(\"div\",{opacity:0,margin:\"0 auto\",position:\"relative\",br:\"$lg\",overflow:\"hidden\",maxWidth:\"100%\",transition:\"transform 250ms ease 0ms, opacity 200ms ease-in 0ms\",\"@motion\":{transition:\"none\"},variants:{ready:{true:{opacity:1},false:{opacity:0}}}});export const StyledImage=t(\"img\",{size:\"100%\",display:\"block\"});export const StyledImageSkeleton=t(\"div\",{position:\"absolute\",top:0,left:0,right:0,bottom:0,size:\"100%\",borderRadius:\"inherit\",backgroundImage:\"linear-gradient(270deg, $colors$accents1, $colors$accents2, $colors$accents2, $colors$accents1)\",backgroundSize:\"400% 100%\",animation:`${i} 5s ease-in-out infinite`,transition:\"opacity 300ms ease-out\"});","import t from\"react\";import e from\"../utils/with-defaults\";import{StyledImageSkeleton as s}from\"./image.styles\";import m from\"../utils/clsx\";import{__DEV__ as o}from\"../utils/assertion\";import{jsx as i}from\"react/jsx-runtime\";const a=t.memo((({opacity:t,css:e,className:o,...a})=>i(s,{css:{opacity:t,...e},className:m(\"nextui-image-skeleton\",o),...a})));o&&(a.displayName=\"NextUI.ImageSkeleton\"),a.toString=()=>\".nextui-image-skeleton\";export default e(a,{opacity:.5,className:\"\"});","import{useEffect as t,useState as e}from\"react\";const i=(t,e)=>{if(!t)return 0;const i=t.includes(\"px\")?+t.split(\"px\")[0]:t.includes(\"%\")?+t.split(\"%\")[0]*e*.01:t;return Number.isNaN(+i)?0:+i};export const getRealShape=t=>{if(!t||\"undefined\"==typeof window)return{width:0,height:0};const e=t.getBoundingClientRect(),{width:h,height:n}=window.getComputedStyle(t);return{width:i(`${h}`,e.width),height:i(`${n}`,e.height)}};export default i=>{const[h,n]=e({width:0,height:0}),r=()=>{const{width:t,height:e}=getRealShape(i.current);n({width:t,height:e})};return t((()=>r()),[i.current]),[h,r]};","import e from\"./use-real-shape\";export default e;","import t from\"./use-current-state\";export default t;","import{useEffect as t,useRef as r,useState as n}from\"react\";export default e=>{const[o,c]=n((()=>\"function\"==typeof e?e():e)),u=r(e);t((()=>{u.current=o}),[o]);return[o,t=>{const r=\"function\"==typeof t?t(u.current):t;u.current=r,c(r)},u]};","import e from\"./use-resize\";export default e;","import{useEffect as e}from\"react\";export default(r,t=!0)=>{e((()=>{const e=()=>r();return t&&e(),window.addEventListener(\"resize\",e),()=>window.removeEventListener(\"resize\",e)}),[])};","import{useImperativeHandle as e,useRef as t}from\"react\";export function canUseDOM(){return!(\"undefined\"==typeof window||!window.document||!window.document.createElement)}export const isBrowser=canUseDOM();export function detectDeviceType(e){const{userAgent:t}=e;return/(tablet)|(iPad)|(Nexus 9)/i.test(t)?\"tablet\":/(mobi)/i.test(t)?\"phone\":\"desktop\"}export function detectOS(e){return!!isBrowser&&function(e){const{userAgent:t,platform:r}=e;switch(!0){case/Android/.test(t):return\"Android\";case/iPhone|iPad|iPod/.test(r):return\"iOS\";case/Win/.test(r):return\"Windows\";case/Mac/.test(r):return\"Mac\";case/CrOS/.test(t):return\"Chrome OS\";case/Firefox/.test(t):return\"Firefox OS\";default:return null}}(window.navigator)===e}export function detectBrowser(e){return!!isBrowser&&function(e){const{userAgent:t,vendor:r}=e,n=/(android)/i.test(t);switch(!0){case/CriOS/.test(t):return\"Chrome for iOS\";case/Edg\\//.test(t):return\"Edge\";case n&&/Silk\\//.test(t):return\"Silk\";case/Chrome/.test(t)&&/Google Inc/.test(r):return\"Chrome\";case/Firefox\\/\\d+\\.\\d+$/.test(t):return\"Firefox\";case n:return\"AOSP\";case/MSIE|Trident/.test(t):return\"IE\";case/Safari/.test(e.userAgent)&&/Apple Computer/.test(t):return\"Safari\";case/AppleWebKit/.test(t):return\"WebKit\";default:return null}}(window.navigator)===e}export function detectTouch(){return!!isBrowser&&(null===window.ontouchstart&&null===window.ontouchmove&&null===window.ontouchend)}export function createDOMRef(e){return{UNSAFE_getDOMNode:()=>e.current}}export function createFocusableRef(e,t=e){return{...createDOMRef(e),focus(){t.current&&t.current.focus()}}}export function useDOMRef(r){const n=t(null);return e(r,(()=>n.current)),n}export function useFocusableRef(r,n){const o=t(null);return e(r,(()=>createFocusableRef(o,n))),o}export function unwrapDOMRef(e){return{get current(){return e.current&&e.current.UNSAFE_getDOMNode()}}}","import e,{useEffect as t,useMemo as a,useState as o}from\"react\";import r from\"./image.skeleton\";import s from\"../use-real-shape\";import i from\"../use-current-state\";import m from\"../use-resize\";import{useDOMRef as c}from\"../utils/dom\";import{__DEV__ as n}from\"../utils/assertion\";import{StyledImage as u,StyledImageContainer as l}from\"./image.styles\";import p from\"../utils/clsx\";import{jsx as f}from\"react/jsx-runtime\";import{jsxs as d}from\"react/jsx-runtime\";export const Image=e.forwardRef(((e,n)=>{const{src:g,width:h,height:x,showSkeleton:w,className:y,maxDelay:j,autoResize:I,objectFit:N,containerCss:b,css:k,...z}=e,F=c(n),[R,S]=o(!0),[T,$]=o(w),{w:D,h:C}=a((()=>({w:h?\"number\"==typeof h?`${h}px`:h:\"auto\",h:x?\"number\"==typeof x?`${x}px`:x:\"auto\"})),[h,x]),[L,P,U]=i(C),[q,v]=s(F),A=w&&!!h&&!!x;t((()=>{F.current&&F.current.complete&&(S(!1),$(!1))})),t((()=>{const e=setTimeout((()=>{A&&$(!1),clearTimeout(e)}),j);return()=>clearTimeout(e)}),[R]),t((()=>{if(!I)return;const e=0===q.width,t=\"auto\"===U.current;!e&&h&&x&&(q.width{I&&v()}));const B=a((()=>R?\"loading\":\"ready\"),[R]);return d(l,{className:p(\"nextui-image-container\",`nextui-image--${B}`,y),\"data-state\":B,ready:!R||T,css:{width:D,height:L,...b},children:[T&&f(r,{opacity:1}),f(u,{ref:F,className:\"nextui-image\",width:h,height:x,onLoad:()=>{S(!1)},src:g,\"data-state\":B,alt:e.alt||\"\",css:{objectFit:N,...k},...z})]})}));n&&(Image.displayName=\"NextUI.Image\"),Image.toString=()=>\".nextui-image\",Image.defaultProps={showSkeleton:!0,autoResize:!1,objectFit:\"scale-down\",maxDelay:3e3,className:\"\"};export default e.memo(Image);","import e from\"./image\";export{StyledImageContainer,StyledImage,StyledImageSkeleton}from\"./image.styles\";export default e;","import t,{useEffect as e,useRef as i}from\"react\";import{styled as r,keyframes as o}from\"../theme/stitches.config\";import n from\"../utils/with-defaults\";import l from\"../utils/clsx\";import{jsx as s}from\"react/jsx-runtime\";const a=o({\"0%\":{opacity:0,transform:\"scale(0.25)\"},\"30%\":{opacity:1},\"80%\":{opacity:.5},\"100%\":{transform:\"scale(28)\",opacity:0}});export const StyledDrip=r(\"div\",{position:\"absolute\",left:0,right:0,top:0,bottom:0,\"& svg\":{position:\"absolute\",animation:`350ms linear ${a}`,animationFillMode:\"forwards\",width:\"$md\",height:\"$md\"}});const m=({visible:t,x:r,y:o,color:n,onCompleted:a,className:m,...c})=>{const d=i(null),p=Number.isNaN(+o)?0:o-10,u=Number.isNaN(+r)?0:r-10;return e((()=>{if(d.current)return d.current.addEventListener(\"animationend\",a),()=>{d.current&&d.current.removeEventListener(\"animationend\",a)}})),t?s(StyledDrip,{ref:d,className:l(\"nextui-drip\",m),...c,children:s(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 20 20\",style:{top:p,left:u},children:s(\"g\",{stroke:\"none\",strokeWidth:\"1\",fill:\"none\",fillRule:\"evenodd\",children:s(\"g\",{className:\"nextui-drip-filler\",fill:n,children:s(\"rect\",{width:\"100%\",height:\"100%\",rx:\"10\"})})})})}):null},c=t.memo(m);export default n(c,{visible:!1,x:0,y:0,className:\"\"});","import r from\"./use-drip\";export default r;","import{useState as t}from\"react\";export default(e=!1,n)=>{const[r,o]=t(e),[c,i]=t(0),[l,u]=t(0);return{visible:r,x:c,y:l,onClick:t=>{if(!n.current)return;const e=n.current.getBoundingClientRect();o(!0),i(t.clientX-e.left),u(t.clientY-e.top)},onCompleted:()=>{o(!1),i(0),u(0)}}};","import e from\"react\";export const getId=()=>Math.random().toString(32).slice(2,10);export const hasChild=(t,n)=>(e.Children.map(t,(t=>e.isValidElement(t)?t.type:null))||[]).includes(n);export const pick=(e,t)=>e.reduce(((e,n)=>(e[n]=t[n],e)),{});export const pickChild=(t,n)=>{let r=[];return[e.Children.map(t,(t=>e.isValidElement(t)&&t.type===n?(r.push(t),null):t)),r.length>=0?r:void 0]};export const pickSingleChild=(e,t)=>{const[n,r]=pickChild(e,t);let o=null;return r&&r.length>=1&&(o=r.length>=0?r[0]:void 0),[n,o]};export const isChildElement=(e,t)=>{if(!e||!t)return!1;let n=t;for(;n;){if(n===e)return!0;n=n.parentNode}return!1};export const isBrowser=()=>Boolean(\"undefined\"!=typeof window&&window.document&&window.document.createElement);export const isMac=()=>!!Boolean(\"undefined\"!=typeof window&&window.document&&window.document.createElement)&&navigator.platform.toUpperCase().indexOf(\"MAC\")>=0;export const setChildrenIndex=(t,n=[])=>{if(0===e.Children.count(t))return[];const r=0===n.length,o=(t,n={})=>e.cloneElement(t,n);let i=0;return e.Children.map(t,(t=>{if(!e.isValidElement(t))return t;if(i+=1,r)return o(t,{index:i});return n.find((e=>e===t.type))?o(t,{index:i}):(i-=1,t)}))};export const flattenArray=e=>e.reduce(((e,t)=>e.concat(Array.isArray(t)?flattenArray(t):t)),[]);","export const KeyCode={Unknown:0,Backspace:8,Tab:9,Enter:13,Shift:16,Ctrl:17,Alt:18,PauseBreak:19,CapsLock:20,Escape:27,Space:32,PageUp:33,PageDown:34,End:35,Home:36,LeftArrow:37,UpArrow:38,RightArrow:39,DownArrow:40,Insert:45,Delete:46,KEY_0:48,KEY_1:49,KEY_2:50,KEY_3:51,KEY_4:52,KEY_5:53,KEY_6:54,KEY_7:55,KEY_8:56,KEY_9:57,KEY_A:65,KEY_B:66,KEY_C:67,KEY_D:68,KEY_E:69,KEY_F:70,KEY_G:71,KEY_H:72,KEY_I:73,KEY_J:74,KEY_K:75,KEY_L:76,KEY_M:77,KEY_N:78,KEY_O:79,KEY_P:80,KEY_Q:81,KEY_R:82,KEY_S:83,KEY_T:84,KEY_U:85,KEY_V:86,KEY_W:87,KEY_X:88,KEY_Y:89,KEY_Z:90,Meta:91,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,NumLock:144,ScrollLock:145,Equal:187,Minus:189,Backquote:192,Backslash:220};export const KeyMod={CtrlCmd:2048,Shift:1024,Alt:512,WinCtrl:256};","export const isObject=e=>e&&\"object\"==typeof e;export const renameProp=(e,t,{[e]:r,...c})=>({[t]:r,...c});export const copyObject=e=>isObject(e)?e instanceof Array?[...e]:{...e}:e;export const omitObject=(e,t)=>{if(!isObject(e))return e;if(e instanceof Array)return[...e];const r={...e};return t.forEach((e=>r[e]&&delete r[e])),r};export const cleanObject=e=>{if(!isObject(e))return e;if(e instanceof Array)return[...e];const t={...e};return Object.keys(t).forEach((e=>{void 0!==t[e]&&null!==t[e]||delete t[e]})),t};export const cleanObjectKeys=(e,t=[])=>{if(!isObject(e))return e;if(e instanceof Array)return[...e];const r={...e};return t.forEach((e=>{r[e]&&delete r[e]})),r};export const getKeyValue=(e,t)=>isObject(e)?e instanceof Array?[...e]:e[t]:e;","import{getKeyValue as t}from\"../utils/object\";import{isMac as r}from\"../utils/collections\";import{KeyMod as o}from\"./codes\";export const getCtrlKeysByPlatform=()=>({CtrlCmd:r()?\"metaKey\":\"ctrlKey\",WinCtrl:r()?\"ctrlKey\":\"metaKey\"});export const getActiveModMap=r=>{const e=r.filter((r=>!!t(o,r))),l={CtrlCmd:!1,Shift:!1,Alt:!1,WinCtrl:!1};return e.forEach((r=>{const e=t(o,r);l[e]=!0})),l};","import o from\"./use-keyboard\";import{KeyMod as r,KeyCode as e}from\"./codes\";export{r as KeyMod,e as KeyCode};export default o;","import{KeyMod as e}from\"./codes\";import{useEffect as t}from\"react\";import{getActiveModMap as r,getCtrlKeysByPlatform as o}from\"./helper\";import{getKeyValue as n}from\"../utils/object\";export default(p,s,i={})=>{const a=Array.isArray(s)?s:[s],{disableGlobalEvent:y=!1,capture:l=!1,stopPropagation:d=!1,preventDefault:u=!1,event:m=\"keydown\"}=i,f=r(a),C=a.filter((t=>!n(e,t))),{CtrlCmd:c,WinCtrl:k}=o(),K=e=>{f.Shift&&!e.shiftKey||f.Alt&&!e.altKey||f.CtrlCmd&&!e[c]||f.WinCtrl&&!e[k]||C.length>0&&!C.includes(e.keyCode)||(d&&e.stopPropagation(),u&&e.preventDefault(),p&&p(e))};t((()=>(y||document.addEventListener(m,K),()=>{document.removeEventListener(m,K)})),[y]);const v=(e,t=!1)=>e!==m||t!==l?()=>{}:e=>K(e);return{bindings:{onKeyDown:v(\"keydown\"),onKeyDownCapture:v(\"keydown\",!0),onKeyPress:v(\"keypress\"),onKeyPressCapture:v(\"keypress\",!0),onKeyUp:v(\"keyup\"),onKeyUpCapture:v(\"keyup\",!0)}}};","import{styled as o}from\"../theme/stitches.config\";import{StyledDrip as r}from\"../utils/drip\";export const StyledCardBody=o(\"div\",{d:\"flex\",w:\"100%\",h:\"auto\",flex:\"1 1 auto\",fd:\"column\",jc:\"inherit\",ai:\"inherit\",ac:\"inherit\",p:\"$sm $lg\",oy:\"auto\",position:\"relative\",ta:\"left\"});export const StyledCard=o(\"div\",{m:0,p:0,br:\"$lg\",position:\"relative\",display:\"flex\",overflow:\"hidden\",fd:\"column\",width:\"100%\",height:\"auto\",boxSizing:\"border-box\",\"@motion\":{transition:\"none\"},\".nextui-image\":{width:\"100%\"},[`& ${r}`]:{zIndex:\"$1\",\".nextui-drip-filler\":{opacity:.25,fill:\"$accents6\"}},variants:{color:{default:{$$cardColor:\"$colors$backgroundContrast\",bg:\"$$cardColor\"},primary:{$$cardColor:\"$colors$primary\",color:\"$white\",bg:\"$$cardColor\"},secondary:{$$cardColor:\"$colors$secondary\",color:\"$white\",bg:\"$$cardColor\"},success:{$$cardColor:\"$colors$success\",color:\"$white\",bg:\"$$cardColor\"},warning:{$$cardColor:\"$colors$warning\",color:\"$white\",bg:\"$$cardColor\"},error:{$$cardColor:\"$colors$error\",color:\"$white\",bg:\"$$cardColor\"},gradient:{$$cardColor:\"$colors$gradient\",color:\"$white\",bg:\"$$cardColor\"}},shadow:{true:{boxShadow:\"$md\"}},bordered:{true:{borderStyle:\"solid\",borderColor:\"$border\"},false:{bw:0}},borderWeight:{light:{bw:\"$light\"},normal:{bw:\"$normal\"},bold:{bw:\"$bold\"},extrabold:{bw:\"$extrabold\"},black:{bw:\"$black\"}},animated:{true:{transition:\"$card\"},false:{transition:\"none\"}},clickable:{true:{cursor:\"pointer\",us:\"none\",WebkitTapHighlightColor:\"transparent\",\"&:focus:not(&:focus-visible)\":{boxShadow:\"none\"},\"&:focus\":{outline:\"none\",boxShadow:\"0 0 0 2px $colors$background, 0 0 0 4px $colors$primary\"},\"@safari\":{WebkitTapHighlightColor:\"transparent\",outline:\"none\"}}},hoverable:{true:{\"&:hover\":{transform:\"translateY(-2px)\",boxShadow:\"$md\"}}},cover:{true:{\".nextui-image\":{objectFit:\"cover !important\"},[`& ${StyledCardBody}`]:{p:0}},false:{\".nextui-image, .nextui-image-container\":{bblr:\"0 !important\",bbrr:\"0 !important\"}}}},compoundVariants:[{clickable:!0,animated:!0,css:{\"&:active\":{scale:.97}}}],defaultVariants:{color:\"default\",borderWeight:\"normal\",animated:!0,bordered:!1,shadow:!0}});export const StyledCardHeader=o(\"div\",{w:\"100%\",display:\"flex\",flexShrink:0,zIndex:\"$1\",jc:\"flex-start\",ai:\"center\",overflow:\"hidden\",color:\"inherit\",fontSize:\"$xs\",p:\"$sm\"});export const StyledCardFooter=o(\"div\",{w:\"100%\",h:\"auto\",p:\"$sm $lg\",d:\"flex\",ai:\"center\",overflow:\"hidden\",color:\"inherit\",fontSize:\"$xs\",bblr:\"$lg\",bbrr:\"$lg\",variants:{blur:{true:{bf:\"saturate(180%) blur(10px)\",bg:\"$$cardColor\"}}}});","import r,{useImperativeHandle as e,useRef as t}from\"react\";import o from\"../image\";import i from\"../utils/drip\";import a from\"../use-drip\";import{hasChild as l,pickChild as n}from\"../utils/collections\";import m,{KeyCode as s}from\"../use-keyboard\";import{StyledCard as c,StyledCardHeader as d,StyledCardFooter as p,StyledCardBody as u}from\"./card.styles\";import f from\"../utils/with-defaults\";import{__DEV__ as x}from\"../utils/assertion\";import{Fragment as b}from\"react/jsx-runtime\";import{jsxs as v}from\"react/jsx-runtime\";import{jsx as y}from\"react/jsx-runtime\";const C=r.forwardRef((({...r},f)=>{const{children:x,cover:C,animated:k,ripple:h,clickable:j,onClick:S,preventDefault:g,...D}=r,w=t(null);e(f,(()=>w.current));const{onClick:E,...F}=a(!1,w),[I,N]=n(x,d),[B,G]=n(I,p),[H,R]=n(B,o),U=l(H,u),q=l(x,d),z=r=>{k&&w.current&&E(r),S&&S(r)},{bindings:A}=m((r=>{j&&z(r)}),[s.Enter,s.Space],{disableGlobalEvent:!0,preventDefault:g});return v(c,{ref:w,role:j?\"button\":\"section\",cover:C,animated:k,clickable:j,tabIndex:j?0:-1,onClick:z,...D,...A,children:[q?v(b,{children:[N,R]}):R,U?H:C?null:y(u,{children:H}),j&&k&&h&&y(i,{...F}),G]})}));x&&(C.displayName=\"NextUI.Card\"),C.toString=()=>\".nextui-card\";export default f(C,{animated:!0,ripple:!0,cover:!1,preventDefault:!1});","import r from\"./card\";import{StyledCardHeader as d,StyledCardFooter as e,StyledCardBody as a}from\"./card.styles\";import o from\"../image\";export{StyledCard,StyledCardHeader,StyledCardFooter,StyledCardBody}from\"./card.styles\";r.Header=d,r.Body=a,r.Footer=e,r.Image=o;export default r;","export const tuple=(...e)=>e;tuple(\"xs\",\"sm\",\"md\",\"lg\",\"xl\");export const normalColors=tuple(\"default\",\"primary\",\"secondary\",\"success\",\"warning\",\"error\",\"gradient\");export const simpleColors=tuple(\"default\",\"primary\",\"secondary\",\"success\",\"warning\",\"error\");export const extendedColors=tuple(\"default\",\"primary\",\"secondary\",\"success\",\"warning\",\"error\",\"invert\",\"gradient\");export const extendedColorsNoGradient=tuple(\"default\",\"primary\",\"secondary\",\"success\",\"warning\",\"error\",\"invert\");export const extraColors=tuple(\"default\",\"primary\",\"secondary\",\"success\",\"warning\",\"error\",\"dark\",\"lite\",\"alert\",\"purple\",\"violet\",\"gradient\",\"cyan\");export const normalLoaders=tuple(\"default\",\"points\",\"points-opacity\",\"gradient\",\"spinner\");export const normalWeights=tuple(\"light\",\"normal\",\"bold\",\"extrabold\",\"black\");export const textWeights=tuple(\"normal\",\"bold\",\"lighter\",\"bolder\",\"inherit\",\"initial\",\"revert\",\"unset\");export const textTransforms=tuple(\"none\",\"capitalize\",\"uppercase\",\"lowercase\",\"full-width\",\"full-size-kana\",\"inherit\",\"initial\",\"revert\",\"unset\");tuple(\"default\",\"slient\",\"prevent\"),tuple(\"hover\",\"click\"),tuple(\"top\",\"topStart\",\"topEnd\",\"left\",\"leftStart\",\"leftEnd\",\"bottom\",\"bottomStart\",\"bottomEnd\",\"right\",\"rightStart\",\"rightEnd\"),tuple(\"static\",\"relative\",\"absolute\",\"fixed\",\"sticky\",\"inherit\",\"initial\",\"revert\",\"unset\"),tuple(\"contain\",\"cover\",\"fill\",\"none\",\"scale-down\",\"inherit\",\"initial\",\"revert\",\"unset\"),tuple(\"start\",\"center\",\"end\",\"left\",\"right\"),tuple(\"flex-start\",\"center\",\"flex-end\",\"space-between\",\"space-around\",\"space-evenly\"),tuple(\"flex-start\",\"flex-end\",\"center\",\"stretch\",\"baseline\"),tuple(\"stretch\",\"center\",\"flex-start\",\"flex-end\",\"space-between\",\"space-around\"),tuple(\"row\",\"row-reverse\",\"column\",\"column-reverse\"),tuple(\"nowrap\",\"wrap\",\"wrap-reverse\"),tuple(\"flex\",\"block\",\"grid\",\"inline\",\"inline-block\",\"inline-flex\",\"inline-grid\"),tuple(\"left\",\"right\"),tuple(\"start\",\"center\",\"end\");export const excludedInputPropsForTextarea=tuple(\"clearable\",\"as\",\"rounded\",\"labelLeft\",\"labelRight\",\"contentLeft\",\"contentRight\",\"contentClickable\",\"contentLeftStyling\",\"contentRightStyling\",\"onContentClick\",\"onClearClick\",\"css\");export const excludedTableProps=tuple(\"items\",\"disabledKeys\",\"allowDuplicateSelectionEvents\",\"disallowEmptySelection\",\"defaultSelectedKeys\",\"sortDescriptor\",\"onSortChange\");tuple(\"toggle\",\"replace\"),tuple(\"none\",\"single\",\"multiple\");","import{normalColors as t}from\"./prop-types\";export const getCssVar=t=>{if(\"undefined\"!=typeof document||!t){const r=isCssVar(t)?t.replace(\"var(\",\"\").replace(\")\",\"\"):`--${t}`;return getComputedStyle(document.documentElement).getPropertyValue(r)}return\"\"};export const isCssVar=t=>!(!t||0!==(null==t?void 0:t.indexOf(\"var(\")));export const isHex=t=>/#[a-fA-F0-9]{3,6}/g.test(t);export const hexToRGBA=(t,r=1)=>{let e=0,o=0,n=0;return 4==t.length?(e=\"0x\"+t[1]+t[1],o=\"0x\"+t[2]+t[2],n=\"0x\"+t[3]+t[3]):7==t.length&&(e=\"0x\"+t[1]+t[2],o=\"0x\"+t[3]+t[4],n=\"0x\"+t[5]+t[6]),`rgba(${+e}, ${+o},${+n},${r})`};export const isNormalColor=r=>{let e=t.find((t=>t===r));return null!=e};export const isColor=t=>{let r=(new Option).style;return r.color=t,r.color==t};export const hexToRgb=t=>{const r=t.replace(/^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i,((t,r,e,o)=>`${r}${r}${e}${e}${o}${o}`)),e=/^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(r);if(!e)throw new Error(`Next UI: Unsupported ${t} color.`);return[Number.parseInt(e[1],16),Number.parseInt(e[2],16),Number.parseInt(e[3],16)]};export const hexFromString=(t,r=\"\",e=!1)=>{const o=t.match(/#[a-fA-F0-9]{6}|#[a-fA-F0-9]{3}$/g);return o&&o.length>0?e?o[o.length-1]:o:r};export const colorToRgbValues=t=>{const r=isCssVar(t)?getCssVar(t):t;if(\"#\"===r.charAt(0))return hexToRgb(r);const e=r.replace(/ /g,\"\"),o=r.substr(0,4),n=e.match(/\\((.+)\\)/);if(!o.startsWith(\"rgb\")||!n)throw new Error('Next UI: Only support [\"RGB\", \"RGBA\", \"HEX\"] color.');return n[1].split(\",\").map((t=>Number.parseFloat(t)))};export const addColorAlpha=(t,r=1)=>{if(!t)return\"\";const e=isCssVar(t)?getCssVar(t):t;if(/#[a-fA-F0-9]{3,6}/g.test(e))return hexToRGBA(e,r);if(!/^#|rgb|RGB/.test(e))return e;const[o,n,s]=colorToRgbValues(e);return`rgba(${o}, ${n}, ${s}, ${r>1?1:r<0?0:r})`};function r(t,r){return r=r||2,(new Array(r).join(\"0\")+t).slice(-r)}export const invertHex=(t,e=!0)=>{let o=isCssVar(t)?getCssVar(t):t;if(0===o.indexOf(\"#\")&&(o=o.slice(1)),3===o.length&&(o=o[0]+o[0]+o[1]+o[1]+o[2]+o[2]),6!==o.length)return t;let n=parseInt(o.slice(0,2),16),s=parseInt(o.slice(2,4),16),a=parseInt(o.slice(4,6),16);return e?.299*n+.587*s+.114*a>186?\"#000000\":\"#FFFFFF\":(n=255-n,s=255-s,a=255-a,\"#\"+r(n.toString(16))+r(s.toString(16))+r(a.toString(16)))};","var o,r;import{theme as e,styled as n}from\"../theme/stitches.config\";import{addColorAlpha as i}from\"../utils/color\";export const StyledLinkIcon=n(\"svg\",{ml:\"$1\",as:\"center\",display:\"inline-flex\",color:\"currentColor\"});export const StyledLink=n(\"a\",{display:\"inline-flex\",alignItems:\"baseline\",lineHeight:\"inherit\",textDecoration:\"none\",width:\"fitContent\",backgroundImage:\"inherit\",backgroundColor:\"inherit\",backgroundClip:\"inherit\",WebkitTextFillColor:\"inherit\",\"&:hover\":{opacity:.8},\"@motion\":{transition:\"none\"},variants:{color:{default:{color:\"$link\"},text:{color:\"$text\"},primary:{color:\"$primary\"},secondary:{color:\"$secondary\"},success:{color:\"$success\"},warning:{color:\"$warning\"},error:{color:\"$error\"}},underline:{true:{\"&:hover, &:active, &:focus\":{textDecoration:\"underline\"}}},block:{true:{padding:\"$2 $4\",borderRadius:\"$base\"}},animated:{true:{transition:\"$link\"}}},compoundVariants:[{color:\"default\",block:!0,css:{\"&:hover\":{backgroundColor:i(null==(o=e.colors)||null==(r=o.link)?void 0:r.value,.2)}}},{color:\"primary\",block:!0,css:{\"&:hover\":{backgroundColor:\"$primaryLight\"}}},{color:\"secondary\",block:!0,css:{\"&:hover\":{backgroundColor:\"$secondaryLight\"}}},{color:\"success\",block:!0,css:{\"&:hover\":{backgroundColor:\"$successLight\"}}},{color:\"warning\",block:!0,css:{\"&:hover\":{backgroundColor:\"$warningLight\"}}},{color:\"error\",block:!0,css:{\"&:hover\":{backgroundColor:\"$errorLight\"}}}],defaultVariants:{color:\"default\",animated:!0}});export default StyledLink;","import e from\"react\";import{StyledLinkIcon as o}from\"./link.styles\";import{jsx as i}from\"react/jsx-runtime\";import{jsxs as t}from\"react/jsx-runtime\";export const LinkIcon=()=>t(o,{viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",stroke:\"currentColor\",strokeWidth:\"1.5\",strokeLinecap:\"round\",strokeLinejoin:\"round\",fill:\"none\",shapeRendering:\"geometricPrecision\",className:\"nextui-link-icon\",children:[i(\"path\",{d:\"M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6\"}),i(\"path\",{d:\"M15 3h6v6\"}),i(\"path\",{d:\"M10 14L21 3\"})]});LinkIcon.toString=()=>\".nextui-link-icon\";export default e.memo(LinkIcon);","import r from\"react\";import t from\"../utils/with-defaults\";import i from\"./icon\";import o from\"./link.styles\";import{__DEV__ as e}from\"../utils/assertion\";import{jsx as m}from\"react/jsx-runtime\";import{Fragment as s}from\"react/jsx-runtime\";import{jsxs as n}from\"react/jsx-runtime\";const a=r.forwardRef((({children:r,icon:t,...e},a)=>m(o,{...e,ref:a,children:n(s,{children:[r,t&&m(i,{})]})})));e&&(a.displayName=\"NextUI.Link\"),a.toString=()=>\".nextui-link\";export default t(a,{icon:!1});","import t from\"./link\";export{StyledLink,StyledLinkIcon}from\"./link.styles\";export default t;","import{styled as t}from\"../theme/stitches.config\";export const StyledRow=t(\"div\",{display:\"flex\",position:\"relative\",boxSizing:\"border-box\",variants:{fluid:{true:{width:\"100%\"}}},defaultVariants:{fluid:!0}});export default StyledRow;","import t from\"react\";import r from\"../utils/with-defaults\";import a from\"./row.styles\";import{jsx as s}from\"react/jsx-runtime\";const e=({children:t,gap:r,justify:e,align:i,wrap:l,css:o,...c})=>s(a,{css:{flexWrap:l,$$rowGap:`calc(${r} * $space$lg)`,marginLeft:`calc(${r} * $space$lg / 2)`,marginRight:`calc(${r} * $space$lg / 2)`,justifyContent:e,alignItems:i,...o},...c,children:t});e.toString=()=>\".nextui-row\";const i=t.memo(e);export default r(i,{gap:0,wrap:\"nowrap\",justify:\"flex-start\",align:\"flex-start\"});","import o from\"./row\";export{StyledRow}from\"./row.styles\";export default o;","import{styled as t}from\"../theme/stitches.config\";export const StyledText=t(\"p\",{variants:{weight:{hairline:{fontWeight:\"$hairline\"},thin:{fontWeight:\"$thin\"},light:{fontWeight:\"$light\"},normal:{fontWeight:\"$normal\"},medium:{fontWeight:\"$medium\"},semibold:{fontWeight:\"$semibold\"},bold:{fontWeight:\"$bold\"},extrabold:{fontWeight:\"$extrabold\"},black:{fontWeight:\"$black\"}}}});","import t,{useMemo as r}from\"react\";import e from\"../utils/with-defaults\";import{isNormalColor as o}from\"../utils/color\";import{useDOMRef as i}from\"../utils/dom\";import{__DEV__ as m}from\"../utils/assertion\";import{StyledText as s}from\"./text.styles\";import{jsx as l}from\"react/jsx-runtime\";export const TextChild=t.forwardRef(((t,e)=>{const{children:m,tag:f,color:n,transform:a,margin:x,size:d,css:c,...p}=t,u=i(e),h=r((()=>o(n)?\"default\"===n?\"$text\":`$${n}`:n),[n]),C=r((()=>d?\"number\"==typeof d?`${d}px`:d:\"inherit\"),[d]),T=r((()=>x?\"number\"==typeof x?`${d}px`:x:\"inherit\"),[x]);return l(s,{ref:u,as:f,css:{color:h,fontSize:d?C:\"\",margin:T,tt:a,...c},...p,children:m})}));m&&(TextChild.displayName=\"NextUI.TextChild\"),TextChild.toString=()=>\".nextui-text-child\";const f=t.memo(TextChild);export default e(f,{color:\"default\"});","import t,{useMemo as e}from\"react\";import r from\"../utils/with-defaults\";import{useDOMRef as o}from\"../utils/dom\";import{__DEV__ as i}from\"../utils/assertion\";import l from\"./child\";import{jsx as s}from\"react/jsx-runtime\";const m=(t,e,r,o)=>{if(!t.length)return e;const i=t.slice(1,t.length);return s(l,{tag:t[0],size:r,transform:o,children:m(i,e,r)})};export const Text=t.forwardRef(((t,r)=>{const{h1:i,h2:n,h3:h,h4:a,h5:f,h6:c,b:u,small:d,i:p,span:x,del:b,em:g,blockquote:k,transform:T,size:j,margin:q,children:y,...z}=t,w=o(r),N={h1:i,h2:n,h3:h,h4:a,h5:f,h6:c,blockquote:k},O={span:x,small:d,b:u,em:g,i:p,del:b},I=Object.keys(N).filter((t=>N[t])),R=Object.keys(O).filter((t=>O[t])),S=e((()=>I[0]?I[0]:R[0]?R[0]:\"p\"),[I,R]),U=R.filter((t=>t!==S)),v=e((()=>U.length?m(U,y,j,T):y),[U,y,j,T]);return s(l,{ref:w,transform:T,tag:S,margin:q,size:j,...z,children:v})}));i&&(Text.displayName=\"NextUI.Text\"),Text.toString=()=>\".nextui-text\";const n=t.memo(Text);export default r(n,{h1:!1,h2:!1,h3:!1,h4:!1,h5:!1,h6:!1,b:!1,small:!1,transform:\"none\",i:!1,span:!1,del:!1,em:!1,blockquote:!1,color:\"default\"});","import t from\"./text\";export{StyledText}from\"./text.styles\";export default t;","import { Card, Grid, Link, Row, Text } from \"@nextui-org/react\";\nimport { useState, useEffect } from \"react\";\n\n\nexport default function GameList() {\n const [data, setData] = useState(null);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(null);\n useEffect(() => {\n const getData = async () => {\n try {\n const response = await fetch(\n `https://mickeymartiez.github.io/games.json`\n );\n if (!response.ok) {\n throw new Error(\n `This is an HTTP error: The status is ${response.status}`\n );\n }\n let actualData = await response.json();\n setData(actualData);\n setError(null);\n } catch (err) {\n setError(err.message);\n setData(null);\n } finally {\n setLoading(false);\n }\n }\n getData()\n }, [])\n\n return (\n\n \n {loading &&
A moment please...
}\n {error && (\n
{`There is a problem fetching the post data - ${error}`}
\n )}\n {data && data.map((item, index) => (\n\n \n\n \n\n \n \n \n \n \n \n \n \n {item.name}\n\n \n \n \n\n \n\n \n\n ))\n }\n
\n );\n}\n","import{styled as o}from\"../theme/stitches.config\";export const StyledCol=o(\"div\",{float:\"left\",boxSizing:\"border-box\",pl:\"calc($$rowGap / 2)\",pr:\"calc($$rowGap / 2)\"});export default StyledCol;","import t from\"react\";import o from\"../utils/with-defaults\";import s from\"./col.styles\";import{jsx as r}from\"react/jsx-runtime\";const e=({children:t,span:o,offset:e,css:i,...m})=>r(s,{css:{width:100/12*o+\"%\",marginLeft:100/12*e+\"%\",...i},...m,children:t});e.toString=()=>\".nextui-column\";const i=t.memo(e);export default o(i,{span:12,offset:0});","import o from\"./col\";export{StyledCol}from\"./col.styles\";export default o;","/*\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// We must avoid a circular dependency with @react-aria/utils, and this useLayoutEffect is\n// guarded by a check that it only runs on the client side.\n// eslint-disable-next-line rulesdir/useLayoutEffectRule\nimport React, {ReactNode, useContext, useLayoutEffect, useMemo, useState} from 'react';\n\n// To support SSR, the auto incrementing id counter is stored in a context. This allows\n// it to be reset on every request to ensure the client and server are consistent.\n// There is also a prefix string that is used to support async loading components\n// Each async boundary must be wrapped in an SSR provider, which appends to the prefix\n// and resets the current id counter. This ensures that async loaded components have\n// consistent ids regardless of the loading order.\ninterface SSRContextValue {\n prefix: string,\n current: number\n}\n\n// Default context value to use in case there is no SSRProvider. This is fine for\n// client-only apps. In order to support multiple copies of React Aria potentially\n// being on the page at once, the prefix is set to a random number. SSRProvider\n// will reset this to zero for consistency between server and client, so in the\n// SSR case multiple copies of React Aria is not supported.\nconst defaultContext: SSRContextValue = {\n prefix: String(Math.round(Math.random() * 10000000000)),\n current: 0\n};\n\nconst SSRContext = React.createContext(defaultContext);\n\ninterface SSRProviderProps {\n /** Your application here. */\n children: ReactNode\n}\n\n/**\n * When using SSR with React Aria, applications must be wrapped in an SSRProvider.\n * This ensures that auto generated ids are consistent between the client and server.\n */\nexport function SSRProvider(props: SSRProviderProps): JSX.Element {\n let cur = useContext(SSRContext);\n let value: SSRContextValue = useMemo(() => ({\n // If this is the first SSRProvider, start with an empty string prefix, otherwise\n // append and increment the counter.\n prefix: cur === defaultContext ? '' : `${cur.prefix}-${++cur.current}`,\n current: 0\n }), [cur]);\n\n return (\n \n {props.children}\n \n );\n}\n\nlet canUseDOM = Boolean(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n);\n\n/** @private */\nexport function useSSRSafeId(defaultId?: string): string {\n let ctx = useContext(SSRContext);\n\n // If we are rendering in a non-DOM environment, and there's no SSRProvider,\n // provide a warning to hint to the developer to add one.\n if (ctx === defaultContext && !canUseDOM) {\n console.warn('When server rendering, you must wrap your application in an to ensure consistent ids are generated between the client and server.');\n }\n\n return useMemo(() => defaultId || `react-aria${ctx.prefix}-${++ctx.current}`, [defaultId]);\n}\n\n/**\n * Returns whether the component is currently being server side rendered or\n * hydrated on the client. Can be used to delay browser-specific rendering\n * until after hydration.\n */\nexport function useIsSSR(): boolean {\n let cur = useContext(SSRContext);\n let isInSSRContext = cur !== defaultContext;\n let [isSSR, setIsSSR] = useState(isInSSRContext);\n\n // If on the client, and the component was initially server rendered,\n // then schedule a layout effect to update the component after hydration.\n if (typeof window !== 'undefined' && isInSSRContext) {\n // This if statement technically breaks the rules of hooks, but is safe\n // because the condition never changes after mounting.\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useLayoutEffect(() => {\n setIsSSR(false);\n }, []);\n }\n\n return isSSR;\n}\n","function toVal(mix) {\n\tvar k, y, str='';\n\n\tif (typeof mix === 'string' || typeof mix === 'number') {\n\t\tstr += mix;\n\t} else if (typeof mix === 'object') {\n\t\tif (Array.isArray(mix)) {\n\t\t\tfor (k=0; k < mix.length; k++) {\n\t\t\t\tif (mix[k]) {\n\t\t\t\t\tif (y = toVal(mix[k])) {\n\t\t\t\t\t\tstr && (str += ' ');\n\t\t\t\t\t\tstr += y;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor (k in mix) {\n\t\t\t\tif (mix[k]) {\n\t\t\t\t\tstr && (str += ' ');\n\t\t\t\t\tstr += k;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn str;\n}\n\nexport default function () {\n\tvar i=0, tmp, x, str='';\n\twhile (i < arguments.length) {\n\t\tif (tmp = arguments[i++]) {\n\t\t\tif (x = toVal(tmp)) {\n\t\t\t\tstr && (str += ' ');\n\t\t\t\tstr += x\n\t\t\t}\n\t\t}\n\t}\n\treturn str;\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\nimport {useCallback, useRef, useState} from 'react';\n\nexport function useControlledState(\n value: T,\n defaultValue: T,\n onChange: (value: T, ...args: any[]) => void\n): [T, (value: T, ...args: any[]) => void] {\n let [stateValue, setStateValue] = useState(value || defaultValue);\n let ref = useRef(value !== undefined);\n let wasControlled = ref.current;\n let isControlled = value !== undefined;\n // Internal state reference for useCallback\n let stateRef = useRef(stateValue);\n if (wasControlled !== isControlled) {\n console.warn(`WARN: A component changed from ${wasControlled ? 'controlled' : 'uncontrolled'} to ${isControlled ? 'controlled' : 'uncontrolled'}.`);\n }\n\n ref.current = isControlled;\n\n let setValue = useCallback((value, ...args) => {\n let onChangeCaller = (value, ...onChangeArgs) => {\n if (onChange) {\n if (!Object.is(stateRef.current, value)) {\n onChange(value, ...onChangeArgs);\n }\n }\n if (!isControlled) {\n stateRef.current = value;\n }\n };\n\n if (typeof value === 'function') {\n console.warn('We can not support a function callback. See Github Issues for details https://github.com/adobe/react-spectrum/issues/2320');\n // this supports functional updates https://reactjs.org/docs/hooks-reference.html#functional-updates\n // when someone using useControlledState calls setControlledState(myFunc)\n // this will call our useState setState with a function as well which invokes myFunc and calls onChange with the value from myFunc\n // if we're in an uncontrolled state, then we also return the value of myFunc which to setState looks as though it was just called with myFunc from the beginning\n // otherwise we just return the controlled value, which won't cause a rerender because React knows to bail out when the value is the same\n let updateFunction = (oldValue, ...functionArgs) => {\n let interceptedValue = value(isControlled ? stateRef.current : oldValue, ...functionArgs);\n onChangeCaller(interceptedValue, ...args);\n if (!isControlled) {\n return interceptedValue;\n }\n return oldValue;\n };\n setStateValue(updateFunction);\n } else {\n if (!isControlled) {\n setStateValue(value);\n }\n onChangeCaller(value, ...args);\n }\n }, [isControlled, onChange]);\n\n // If a controlled component's value prop changes, we need to update stateRef\n if (isControlled) {\n stateRef.current = value;\n } else {\n value = stateValue;\n }\n\n return [value, setValue];\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 * Takes a value and forces it to the closest min/max if it's outside. Also forces it to the closest valid step.\n */\nexport function clamp(value: number, min: number = -Infinity, max: number = Infinity): number {\n let newValue = Math.min(Math.max(value, min), max);\n return newValue;\n}\n\nexport function snapValueToStep(value: number, min: number, max: number, step: number): number {\n let remainder = ((value - (isNaN(min) ? 0 : min)) % step);\n let snappedValue = Math.abs(remainder) * 2 >= step\n ? value + Math.sign(remainder) * (step - Math.abs(remainder))\n : value - remainder;\n\n if (!isNaN(min)) {\n if (snappedValue < min) {\n snappedValue = min;\n } else if (!isNaN(max) && snappedValue > max) {\n snappedValue = min + Math.floor((max - min) / step) * step;\n }\n } else if (!isNaN(max) && snappedValue > max) {\n snappedValue = Math.floor(max / step) * step;\n }\n\n // correct floating point behavior by rounding to step precision\n let string = step.toString();\n let index = string.indexOf('.');\n let precision = index >= 0 ? string.length - index : 0;\n\n if (precision > 0) {\n let pow = Math.pow(10, precision);\n snappedValue = Math.round(snappedValue * pow) / pow;\n }\n\n return snappedValue;\n}\n\n/* Takes a value and rounds off to the number of digits. */\nexport function toFixedNumber(value: number, digits: number, base: number = 10): number {\n const pow = Math.pow(base, digits);\n\n return Math.round(value * pow) / pow;\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\nimport React from 'react';\n\n// During SSR, React emits a warning when calling useLayoutEffect.\n// Since neither useLayoutEffect nor useEffect run on the server,\n// we can suppress this by replace it with a noop on the server.\nexport const useLayoutEffect = typeof window !== 'undefined'\n ? React.useLayoutEffect\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\nimport {useCallback, useEffect, useRef, useState} from 'react';\nimport {useLayoutEffect} from './useLayoutEffect';\nimport {useSSRSafeId} from '@react-aria/ssr';\nimport {useValueEffect} from './';\n\nlet idsUpdaterMap: Map void> = new Map();\n\n/**\n * If a default is not provided, generate an id.\n * @param defaultId - Default component id.\n */\nexport function useId(defaultId?: string): string {\n let isRendering = useRef(true);\n isRendering.current = true;\n let [value, setValue] = useState(defaultId);\n let nextId = useRef(null);\n\n let res = useSSRSafeId(value);\n\n // don't memo this, we want it new each render so that the Effects always run\n let updateValue = (val) => {\n if (!isRendering.current) {\n setValue(val);\n } else {\n nextId.current = val;\n }\n };\n\n idsUpdaterMap.set(res, updateValue);\n\n useLayoutEffect(() => {\n isRendering.current = false;\n }, [updateValue]);\n\n useLayoutEffect(() => {\n let r = res;\n return () => {\n idsUpdaterMap.delete(r);\n };\n }, [res]);\n\n useEffect(() => {\n let newId = nextId.current;\n if (newId) {\n setValue(newId);\n nextId.current = null;\n }\n }, [setValue, updateValue]);\n return res;\n}\n\n/**\n * Merges two ids.\n * Different ids will trigger a side-effect and re-render components hooked up with `useId`.\n */\nexport function mergeIds(idA: string, idB: string): string {\n if (idA === idB) {\n return idA;\n }\n\n let setIdA = idsUpdaterMap.get(idA);\n if (setIdA) {\n setIdA(idB);\n return idB;\n }\n\n let setIdB = idsUpdaterMap.get(idB);\n if (setIdB) {\n setIdB(idA);\n return idA;\n }\n\n return idB;\n}\n\n/**\n * Used to generate an id, and after render, check if that id is rendered so we know\n * if we can use it in places such as labelledby.\n * @param depArray - When to recalculate if the id is in the DOM.\n */\nexport function useSlotId(depArray: ReadonlyArray = []): string {\n let id = useId();\n let [resolvedId, setResolvedId] = useValueEffect(id);\n let updateId = useCallback(() => {\n setResolvedId(function *() {\n yield id;\n\n yield document.getElementById(id) ? id : null;\n });\n }, [id, setResolvedId]);\n\n useLayoutEffect(updateId, [id, updateId, ...depArray]);\n\n return resolvedId;\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 * Calls all functions in the order they were chained with the same arguments.\n */\nexport function chain(...callbacks: any[]): (...args: any[]) => void {\n return (...args: any[]) => {\n for (let callback of callbacks) {\n if (typeof callback === 'function') {\n callback(...args);\n }\n }\n };\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\nimport {chain} from './chain';\nimport clsx from 'clsx';\nimport {mergeIds} from './useId';\n\ninterface Props {\n [key: string]: any\n}\n\n// taken from: https://stackoverflow.com/questions/51603250/typescript-3-parameter-list-intersection-type/51604379#51604379\ntype TupleTypes = { [P in keyof T]: T[P] } extends { [key: number]: infer V } ? V : never;\n// eslint-disable-next-line no-undef, @typescript-eslint/no-unused-vars\ntype UnionToIntersection = (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never;\n\n/**\n * Merges multiple props objects together. Event handlers are chained,\n * classNames are combined, and ids are deduplicated - different ids\n * will trigger a side-effect and re-render components hooked up with `useId`.\n * For all other props, the last prop object overrides all previous ones.\n * @param args - Multiple sets of props to merge together.\n */\nexport function mergeProps(...args: T): UnionToIntersection> {\n // Start with a base clone of the first argument. This is a lot faster than starting\n // with an empty object and adding properties as we go.\n let result: Props = {...args[0]};\n for (let i = 1; i < args.length; i++) {\n let props = args[i];\n for (let key in props) {\n let a = result[key];\n let b = props[key];\n\n // Chain events\n if (\n typeof a === 'function' &&\n typeof b === 'function' &&\n // This is a lot faster than a regex.\n key[0] === 'o' &&\n key[1] === 'n' &&\n key.charCodeAt(2) >= /* 'A' */ 65 &&\n key.charCodeAt(2) <= /* 'Z' */ 90\n ) {\n result[key] = chain(a, b);\n\n // Merge classnames, sometimes classNames are empty string which eval to false, so we just need to do a type check\n } else if (\n (key === 'className' || key === 'UNSAFE_className') &&\n typeof a === 'string' &&\n typeof b === 'string'\n ) {\n result[key] = clsx(a, b);\n } else if (key === 'id' && a && b) {\n result.id = mergeIds(a, b);\n // Override others\n } else {\n result[key] = b !== undefined ? b : a;\n }\n }\n }\n\n return result as UnionToIntersection>;\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\nimport {ForwardedRef} from 'react';\n\n/**\n * Merges multiple refs into one. Works with either callback or object refs.\n */\nexport function mergeRefs(...refs: ForwardedRef[]): ForwardedRef {\n return (value: T) => {\n for (let ref of refs) {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref != null) {\n ref.current = value;\n }\n }\n };\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\nimport {AriaLabelingProps, DOMProps} from '@react-types/shared';\nimport {HTMLAttributes} from 'react';\n\nconst DOMPropNames = new Set([\n 'id'\n]);\n\nconst labelablePropNames = new Set([\n 'aria-label',\n 'aria-labelledby',\n 'aria-describedby',\n 'aria-details'\n]);\n\ninterface Options {\n /**\n * If labelling associated aria properties should be included in the filter.\n */\n labelable?: boolean,\n /**\n * A Set of other property names that should be included in the filter.\n */\n propNames?: Set\n}\n\nconst propRe = /^(data-.*)$/;\n\n/**\n * Filters out all props that aren't valid DOM props or defined via override prop obj.\n * @param props - The component props to be filtered.\n * @param opts - Props to override.\n */\nexport function filterDOMProps(props: DOMProps & AriaLabelingProps, opts: Options = {}): DOMProps & AriaLabelingProps {\n let {labelable, propNames} = opts;\n let filteredProps: HTMLAttributes = {};\n\n for (const prop in props) {\n if (\n Object.prototype.hasOwnProperty.call(props, prop) && (\n DOMPropNames.has(prop) ||\n (labelable && labelablePropNames.has(prop)) ||\n propNames?.has(prop) ||\n propRe.test(prop)\n )\n ) {\n filteredProps[prop] = props[prop];\n }\n }\n\n return filteredProps;\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// This is a polyfill for element.focus({preventScroll: true});\n// Currently necessary for Safari and old Edge:\n// https://caniuse.com/#feat=mdn-api_htmlelement_focus_preventscroll_option\n// See https://bugs.webkit.org/show_bug.cgi?id=178583\n//\n\n// Original licensing for the following methods can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/calvellido/focus-options-polyfill\n\ninterface ScrollableElement {\n element: HTMLElement,\n scrollTop: number,\n scrollLeft: number\n}\n\nexport function focusWithoutScrolling(element: HTMLElement) {\n if (supportsPreventScroll()) {\n element.focus({preventScroll: true});\n } else {\n let scrollableElements = getScrollableElements(element);\n element.focus();\n restoreScrollPosition(scrollableElements);\n }\n}\n\nlet supportsPreventScrollCached: boolean = null;\nfunction supportsPreventScroll() {\n if (supportsPreventScrollCached == null) {\n supportsPreventScrollCached = false;\n try {\n var focusElem = document.createElement('div');\n focusElem.focus({\n get preventScroll() {\n supportsPreventScrollCached = true;\n return true;\n }\n });\n } catch (e) {\n // Ignore\n }\n }\n\n return supportsPreventScrollCached;\n}\n\nfunction getScrollableElements(element: HTMLElement): ScrollableElement[] {\n var parent = element.parentNode;\n var scrollableElements: ScrollableElement[] = [];\n var rootScrollingElement = document.scrollingElement || document.documentElement;\n\n while (parent instanceof HTMLElement && parent !== rootScrollingElement) {\n if (\n parent.offsetHeight < parent.scrollHeight ||\n parent.offsetWidth < parent.scrollWidth\n ) {\n scrollableElements.push({\n element: parent,\n scrollTop: parent.scrollTop,\n scrollLeft: parent.scrollLeft\n });\n }\n parent = parent.parentNode;\n }\n\n if (rootScrollingElement instanceof HTMLElement) {\n scrollableElements.push({\n element: rootScrollingElement,\n scrollTop: rootScrollingElement.scrollTop,\n scrollLeft: rootScrollingElement.scrollLeft\n });\n }\n\n return scrollableElements;\n}\n\nfunction restoreScrollPosition(scrollableElements: ScrollableElement[]) {\n for (let {element, scrollTop, scrollLeft} of scrollableElements) {\n element.scrollTop = scrollTop;\n element.scrollLeft = scrollLeft;\n }\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\nexport function getOffset(element, reverse, orientation = 'horizontal') {\n let rect = element.getBoundingClientRect();\n if (reverse) {\n return orientation === 'horizontal' ? rect.right : rect.bottom;\n }\n return orientation === 'horizontal' ? rect.left : rect.top;\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// We store a global list of elements that are currently transitioning,\n// mapped to a set of CSS properties that are transitioning for that element.\n// This is necessary rather than a simple count of transitions because of browser\n// bugs, e.g. Chrome sometimes fires both transitionend and transitioncancel rather\n// than one or the other. So we need to track what's actually transitioning so that\n// we can ignore these duplicate events.\nlet transitionsByElement = new Map>();\n\n// A list of callbacks to call once there are no transitioning elements.\nlet transitionCallbacks = new Set<() => void>();\n\nfunction setupGlobalEvents() {\n if (typeof window === 'undefined') {\n return;\n }\n\n let onTransitionStart = (e: TransitionEvent) => {\n // Add the transitioning property to the list for this element.\n let transitions = transitionsByElement.get(e.target);\n if (!transitions) {\n transitions = new Set();\n transitionsByElement.set(e.target, transitions);\n\n // The transitioncancel event must be registered on the element itself, rather than as a global\n // event. This enables us to handle when the node is deleted from the document while it is transitioning.\n // In that case, the cancel event would have nowhere to bubble to so we need to handle it directly.\n e.target.addEventListener('transitioncancel', onTransitionEnd);\n }\n\n transitions.add(e.propertyName);\n };\n\n let onTransitionEnd = (e: TransitionEvent) => {\n // Remove property from list of transitioning properties.\n let properties = transitionsByElement.get(e.target);\n if (!properties) {\n return;\n }\n\n properties.delete(e.propertyName);\n\n // If empty, remove transitioncancel event, and remove the element from the list of transitioning elements.\n if (properties.size === 0) {\n e.target.removeEventListener('transitioncancel', onTransitionEnd);\n transitionsByElement.delete(e.target);\n }\n\n // If no transitioning elements, call all of the queued callbacks.\n if (transitionsByElement.size === 0) {\n for (let cb of transitionCallbacks) {\n cb();\n }\n\n transitionCallbacks.clear();\n }\n };\n\n document.body.addEventListener('transitionrun', onTransitionStart);\n document.body.addEventListener('transitionend', onTransitionEnd);\n}\n\nif (typeof document !== 'undefined') {\n if (document.readyState !== 'loading') {\n setupGlobalEvents();\n } else {\n document.addEventListener('DOMContentLoaded', setupGlobalEvents);\n }\n}\n\nexport function runAfterTransition(fn: () => void) {\n // Wait one frame to see if an animation starts, e.g. a transition on mount.\n requestAnimationFrame(() => {\n // If no transitions are running, call the function immediately.\n // Otherwise, add it to a list of callbacks to run at the end of the animation.\n if (transitionsByElement.size === 0) {\n fn();\n } else {\n transitionCallbacks.add(fn);\n }\n });\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\nimport {getOffset} from './getOffset';\nimport {Orientation} from '@react-types/shared';\nimport React, {HTMLAttributes, MutableRefObject, useRef} from 'react';\n\ninterface UseDrag1DProps {\n containerRef: MutableRefObject,\n reverse?: boolean,\n orientation?: Orientation,\n onHover?: (hovered: boolean) => void,\n onDrag?: (dragging: boolean) => void,\n onPositionChange?: (position: number) => void,\n onIncrement?: () => void,\n onDecrement?: () => void,\n onIncrementToMax?: () => void,\n onDecrementToMin?: () => void,\n onCollapseToggle?: () => void\n}\n\n// Keep track of elements that we are currently handling dragging for via useDrag1D.\n// If there's an ancestor and a descendant both using useDrag1D(), and the user starts\n// dragging the descendant, we don't want useDrag1D events to fire for the ancestor.\nconst draggingElements: HTMLElement[] = [];\n\n// created for splitview, this should be reusable for things like sliders/dials\n// It also handles keyboard events on the target allowing for increment/decrement by a given stepsize as well as minifying/maximizing and toggling between minified and previous size\n// It can also take a 'reverse' param to say if we should measure from the right/bottom instead of the top/left\n// It can also handle either a vertical or horizontal movement, but not both at the same time\n\nexport function useDrag1D(props: UseDrag1DProps): HTMLAttributes {\n console.warn('useDrag1D is deprecated, please use `useMove` instead https://react-spectrum.adobe.com/react-aria/useMove.html');\n let {containerRef, reverse, orientation, onHover, onDrag, onPositionChange, onIncrement, onDecrement, onIncrementToMax, onDecrementToMin, onCollapseToggle} = props;\n let getPosition = (e) => orientation === 'horizontal' ? e.clientX : e.clientY;\n let getNextOffset = (e: MouseEvent) => {\n let containerOffset = getOffset(containerRef.current, reverse, orientation);\n let mouseOffset = getPosition(e);\n let nextOffset = reverse ? containerOffset - mouseOffset : mouseOffset - containerOffset;\n return nextOffset;\n };\n let dragging = useRef(false);\n let prevPosition = useRef(0);\n\n // Keep track of the current handlers in a ref so that the events can access them.\n let handlers = useRef({onPositionChange, onDrag});\n handlers.current.onDrag = onDrag;\n handlers.current.onPositionChange = onPositionChange;\n\n let onMouseDragged = (e: MouseEvent) => {\n e.preventDefault();\n let nextOffset = getNextOffset(e);\n if (!dragging.current) {\n dragging.current = true;\n if (handlers.current.onDrag) {\n handlers.current.onDrag(true);\n }\n if (handlers.current.onPositionChange) {\n handlers.current.onPositionChange(nextOffset);\n }\n }\n if (prevPosition.current === nextOffset) {\n return;\n }\n prevPosition.current = nextOffset;\n if (onPositionChange) {\n onPositionChange(nextOffset);\n }\n };\n\n let onMouseUp = (e: MouseEvent) => {\n const target = e.target as HTMLElement;\n dragging.current = false;\n let nextOffset = getNextOffset(e);\n if (handlers.current.onDrag) {\n handlers.current.onDrag(false);\n }\n if (handlers.current.onPositionChange) {\n handlers.current.onPositionChange(nextOffset);\n }\n\n draggingElements.splice(draggingElements.indexOf(target), 1);\n window.removeEventListener('mouseup', onMouseUp, false);\n window.removeEventListener('mousemove', onMouseDragged, false);\n };\n\n let onMouseDown = (e: React.MouseEvent) => {\n const target = e.currentTarget;\n // If we're already handling dragging on a descendant with useDrag1D, then\n // we don't want to handle the drag motion on this target as well.\n if (draggingElements.some(elt => target.contains(elt))) {\n return;\n }\n draggingElements.push(target);\n window.addEventListener('mousemove', onMouseDragged, false);\n window.addEventListener('mouseup', onMouseUp, false);\n };\n\n let onMouseEnter = () => {\n if (onHover) {\n onHover(true);\n }\n };\n\n let onMouseOut = () => {\n if (onHover) {\n onHover(false);\n }\n };\n\n let onKeyDown = (e) => {\n switch (e.key) {\n case 'Left':\n case 'ArrowLeft':\n if (orientation === 'horizontal') {\n e.preventDefault();\n if (onDecrement && !reverse) {\n onDecrement();\n } else if (onIncrement && reverse) {\n onIncrement();\n }\n }\n break;\n case 'Up':\n case 'ArrowUp':\n if (orientation === 'vertical') {\n e.preventDefault();\n if (onDecrement && !reverse) {\n onDecrement();\n } else if (onIncrement && reverse) {\n onIncrement();\n }\n }\n break;\n case 'Right':\n case 'ArrowRight':\n if (orientation === 'horizontal') {\n e.preventDefault();\n if (onIncrement && !reverse) {\n onIncrement();\n } else if (onDecrement && reverse) {\n onDecrement();\n }\n }\n break;\n case 'Down':\n case 'ArrowDown':\n if (orientation === 'vertical') {\n e.preventDefault();\n if (onIncrement && !reverse) {\n onIncrement();\n } else if (onDecrement && reverse) {\n onDecrement();\n }\n }\n break;\n case 'Home':\n e.preventDefault();\n if (onDecrementToMin) {\n onDecrementToMin();\n }\n break;\n case 'End':\n e.preventDefault();\n if (onIncrementToMax) {\n onIncrementToMax();\n }\n break;\n case 'Enter':\n e.preventDefault();\n if (onCollapseToggle) {\n onCollapseToggle();\n }\n break;\n }\n };\n\n return {onMouseDown, onMouseEnter, onMouseOut, onKeyDown};\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\nimport {useCallback, useEffect, useRef} from 'react';\n\ninterface GlobalListeners {\n addGlobalListener(el: EventTarget, type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void,\n addGlobalListener(el: EventTarget, type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void,\n removeGlobalListener(el: EventTarget, type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void,\n removeGlobalListener(el: EventTarget, type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void,\n removeAllGlobalListeners(): void\n}\n\nexport function useGlobalListeners(): GlobalListeners {\n let globalListeners = useRef(new Map());\n let addGlobalListener = useCallback((eventTarget, type, listener, options) => {\n // Make sure we remove the listener after it is called with the `once` option.\n let fn = options?.once ? (...args) => {\n globalListeners.current.delete(listener);\n listener(...args);\n } : listener;\n globalListeners.current.set(listener, {type, eventTarget, fn, options});\n eventTarget.addEventListener(type, listener, options);\n }, []);\n let removeGlobalListener = useCallback((eventTarget, type, listener, options) => {\n let fn = globalListeners.current.get(listener)?.fn || listener;\n eventTarget.removeEventListener(type, fn, options);\n globalListeners.current.delete(listener);\n }, []);\n let removeAllGlobalListeners = useCallback(() => {\n globalListeners.current.forEach((value, key) => {\n removeGlobalListener(value.eventTarget, value.type, key, value.options);\n });\n }, [removeGlobalListener]);\n\n // eslint-disable-next-line arrow-body-style\n useEffect(() => {\n return removeAllGlobalListeners;\n }, [removeAllGlobalListeners]);\n\n return {addGlobalListener, removeGlobalListener, removeAllGlobalListeners};\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\nimport {AriaLabelingProps, DOMProps} from '@react-types/shared';\nimport {useId} from './useId';\n\n/**\n * Merges aria-label and aria-labelledby into aria-labelledby when both exist.\n * @param props - Aria label props.\n * @param defaultLabel - Default value for aria-label when not present.\n */\nexport function useLabels(props: DOMProps & AriaLabelingProps, defaultLabel?: string): DOMProps & AriaLabelingProps {\n let {\n id,\n 'aria-label': label,\n 'aria-labelledby': labelledBy\n } = props;\n\n // If there is both an aria-label and aria-labelledby,\n // combine them by pointing to the element itself.\n id = useId(id);\n if (labelledBy && label) {\n let ids = new Set([...labelledBy.trim().split(/\\s+/), id]);\n labelledBy = [...ids].join(' ');\n } else if (labelledBy) {\n labelledBy = labelledBy.trim().split(/\\s+/).join(' ');\n }\n\n // If no labels are provided, use the default\n if (!label && !labelledBy && defaultLabel) {\n label = defaultLabel;\n }\n\n return {\n id,\n 'aria-label': label,\n 'aria-labelledby': labelledBy\n };\n}\n","/*\n * Copyright 2021 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\nimport {MutableRefObject, useRef} from 'react';\nimport {useLayoutEffect} from './';\n\n/**\n * Offers an object ref for a given callback ref or an object ref. Especially\n * helfpul when passing forwarded refs (created using `React.forwardRef`) to\n * React Aria Hooks.\n *\n * @param forwardedRef The original ref intended to be used.\n * @returns An object ref that updates the given ref.\n * @see https://reactjs.org/docs/forwarding-refs.html\n */\nexport function useObjectRef(forwardedRef?: ((instance: T | null) => void) | MutableRefObject | null): MutableRefObject {\n const objRef = useRef();\n\n /**\n * We're using `useLayoutEffect` here instead of `useEffect` because we want\n * to make sure that the `ref` value is up to date before other places in the\n * the execution cycle try to read it.\n */\n useLayoutEffect(() => {\n if (!forwardedRef) {\n return;\n }\n\n if (typeof forwardedRef === 'function') {\n forwardedRef(objRef.current);\n } else {\n forwardedRef.current = objRef.current;\n }\n }, [forwardedRef]);\n\n return objRef;\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\nimport {EffectCallback, useEffect, useRef} from 'react';\n\n// Like useEffect, but only called for updates after the initial render.\nexport function useUpdateEffect(effect: EffectCallback, dependencies: any[]) {\n const isInitialMount = useRef(true);\n\n useEffect(() => {\n if (isInitialMount.current) {\n isInitialMount.current = false;\n } else {\n effect();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, dependencies);\n}\n","import {RefObject, useEffect} from 'react';\n\nfunction hasResizeObserver() {\n return typeof window.ResizeObserver !== 'undefined';\n}\n\ntype useResizeObserverOptionsType = {\n ref: RefObject,\n onResize: () => void\n}\n\nexport function useResizeObserver(options: useResizeObserverOptionsType) {\n const {ref, onResize} = options;\n\n useEffect(() => {\n let element = ref?.current;\n if (!element) {\n return;\n }\n\n if (!hasResizeObserver()) {\n window.addEventListener('resize', onResize, false);\n return () => {\n window.removeEventListener('resize', onResize, false);\n };\n } else {\n\n const resizeObserverInstance = new window.ResizeObserver((entries) => {\n if (!entries.length) {\n return;\n }\n\n onResize();\n });\n resizeObserverInstance.observe(element);\n\n return () => {\n if (element) {\n resizeObserverInstance.unobserve(element);\n }\n };\n }\n\n }, [onResize, ref]);\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\nimport {MutableRefObject, RefObject} from 'react';\nimport {useLayoutEffect} from './';\n\ninterface ContextValue {\n ref?: MutableRefObject\n}\n\n// Syncs ref from context with ref passed to hook\nexport function useSyncRef(context: ContextValue, ref: RefObject) {\n useLayoutEffect(() => {\n if (context && context.ref && ref) {\n context.ref.current = ref.current;\n return () => {\n context.ref.current = null;\n };\n }\n }, [context, ref]);\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\nexport function getScrollParent(node: Element): Element {\n while (node && !isScrollable(node)) {\n node = node.parentElement;\n }\n\n return node || document.scrollingElement || document.documentElement;\n}\n\nfunction isScrollable(node: Element): boolean {\n let style = window.getComputedStyle(node);\n return /(auto|scroll)/.test(style.overflow + style.overflowX + style.overflowY);\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\nimport {useEffect, useState} from 'react';\n\ninterface ViewportSize {\n width: number,\n height: number\n}\n\n// @ts-ignore\nlet visualViewport = typeof window !== 'undefined' && window.visualViewport;\n\nexport function useViewportSize(): ViewportSize {\n let [size, setSize] = useState(() => getViewportSize());\n\n useEffect(() => {\n // Use visualViewport api to track available height even on iOS virtual keyboard opening\n let onResize = () => {\n setSize(size => {\n let newSize = getViewportSize();\n if (newSize.width === size.width && newSize.height === size.height) {\n return size;\n }\n return newSize;\n });\n };\n\n if (!visualViewport) {\n window.addEventListener('resize', onResize);\n } else {\n visualViewport.addEventListener('resize', onResize);\n }\n\n return () => {\n if (!visualViewport) {\n window.removeEventListener('resize', onResize);\n } else {\n visualViewport.removeEventListener('resize', onResize);\n }\n };\n }, []);\n\n return size;\n}\n\nfunction getViewportSize(): ViewportSize {\n return {\n width: visualViewport?.width || window.innerWidth,\n height: visualViewport?.height || window.innerHeight\n };\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\nimport {AriaLabelingProps} from '@react-types/shared';\nimport {useLayoutEffect} from './useLayoutEffect';\nimport {useState} from 'react';\n\nlet descriptionId = 0;\nconst descriptionNodes = new Map();\n\nexport function useDescription(description: string): AriaLabelingProps {\n let [id, setId] = useState(null);\n\n useLayoutEffect(() => {\n if (!description) {\n return;\n }\n\n let desc = descriptionNodes.get(description);\n if (!desc) {\n let id = `react-aria-description-${descriptionId++}`;\n setId(id);\n\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 = {refCount: 0, element: node};\n descriptionNodes.set(description, desc);\n } else {\n setId(desc.element.id);\n }\n\n desc.refCount++;\n return () => {\n if (--desc.refCount === 0) {\n desc.element.remove();\n descriptionNodes.delete(description);\n }\n };\n }, [description]);\n\n return {\n 'aria-describedby': description ? id : undefined\n };\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 testUserAgent(re: RegExp) {\n if (typeof window === 'undefined' || window.navigator == null) {\n return false;\n }\n return (\n window.navigator['userAgentData']?.brands.some((brand: {brand: string, version: string}) => re.test(brand.brand))\n ) ||\n re.test(window.navigator.userAgent);\n}\n\nfunction testPlatform(re: RegExp) {\n return typeof window !== 'undefined' && window.navigator != null\n ? re.test((window.navigator['userAgentData'] || window.navigator).platform)\n : false;\n}\n\nexport function isMac() {\n return testPlatform(/^Mac/i);\n}\n\nexport function isIPhone() {\n return testPlatform(/^iPhone/i);\n}\n\nexport function isIPad() {\n return testPlatform(/^iPad/i) ||\n // iPadOS 13 lies and says it's a Mac, but we can distinguish by detecting touch support.\n (isMac() && navigator.maxTouchPoints > 1);\n}\n\nexport function isIOS() {\n return isIPhone() || isIPad();\n}\n\nexport function isAppleDevice() {\n return isMac() || isIOS();\n}\n\nexport function isWebKit() {\n return testUserAgent(/AppleWebKit/i) && !isChrome();\n}\n\nexport function isChrome() {\n return testUserAgent(/Chrome/i);\n}\n\nexport function isAndroid() {\n return testUserAgent(/Android/i);\n}\n","/*\n * Copyright 2021 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\nimport {RefObject, useEffect, useRef} from 'react';\n\nexport function useEvent(\n ref: RefObject,\n event: K,\n handler: (this: Document, ev: GlobalEventHandlersEventMap[K]) => any,\n options?: boolean | AddEventListenerOptions\n) {\n let handlerRef = useRef(handler);\n handlerRef.current = handler;\n\n let isDisabled = handler == null;\n\n useEffect(() => {\n if (isDisabled) {\n return;\n }\n\n let element = ref.current;\n let handler = (e: GlobalEventHandlersEventMap[K]) => handlerRef.current.call(this, e);\n\n element.addEventListener(event, handler, options);\n return () => {\n element.removeEventListener(event, handler, options);\n };\n }, [ref, event, options, isDisabled]);\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\nimport {Dispatch, useCallback, useRef, useState} from 'react';\nimport {useLayoutEffect} from './';\n\ntype SetValueAction = (prev: S) => Generator;\n\n// This hook works like `useState`, but when setting the value, you pass a generator function\n// that can yield multiple values. Each yielded value updates the state and waits for the next\n// layout effect, then continues the generator. This allows sequential updates to state to be\n// written linearly.\nexport function useValueEffect(defaultValue: S | (() => S)): [S, Dispatch>] {\n let [value, setValue] = useState(defaultValue);\n let valueRef = useRef(value);\n let effect = useRef(null);\n\n valueRef.current = value;\n\n // Store the function in a ref so we can always access the current version\n // which has the proper `value` in scope.\n let nextRef = useRef(null);\n nextRef.current = () => {\n // Run the generator to the next yield.\n let newValue = effect.current.next();\n\n // If the generator is done, reset the effect.\n if (newValue.done) {\n effect.current = null;\n return;\n }\n\n // If the value is the same as the current value,\n // then continue to the next yield. Otherwise,\n // set the value in state and wait for the next layout effect.\n if (value === newValue.value) {\n nextRef.current();\n } else {\n setValue(newValue.value);\n }\n };\n\n useLayoutEffect(() => {\n // If there is an effect currently running, continue to the next yield.\n if (effect.current) {\n nextRef.current();\n }\n });\n\n let queue = useCallback(fn => {\n effect.current = fn(valueRef.current);\n nextRef.current();\n }, [effect, nextRef]);\n\n return [value, queue];\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 * Scrolls `scrollView` so that `element` is visible.\n * Similar to `element.scrollIntoView({block: 'nearest'})` (not supported in Edge),\n * but doesn't affect parents above `scrollView`.\n */\nexport function scrollIntoView(scrollView: HTMLElement, element: HTMLElement) {\n let offsetX = relativeOffset(scrollView, element, 'left');\n let offsetY = relativeOffset(scrollView, element, 'top');\n let width = element.offsetWidth;\n let height = element.offsetHeight;\n let x = scrollView.scrollLeft;\n let y = scrollView.scrollTop;\n let maxX = x + scrollView.offsetWidth;\n let maxY = y + scrollView.offsetHeight;\n\n if (offsetX <= x) {\n x = offsetX;\n } else if (offsetX + width > maxX) {\n x += offsetX + width - maxX;\n }\n if (offsetY <= y) {\n y = offsetY;\n } else if (offsetY + height > maxY) {\n y += offsetY + height - maxY;\n }\n\n scrollView.scrollLeft = x;\n scrollView.scrollTop = y;\n}\n\n/**\n * Computes the offset left or top from child to ancestor by accumulating\n * offsetLeft or offsetTop through intervening offsetParents.\n */\nfunction relativeOffset(ancestor: HTMLElement, child: HTMLElement, axis: 'left'|'top') {\n const prop = axis === 'left' ? 'offsetLeft' : 'offsetTop';\n let sum = 0;\n while (child.offsetParent) {\n sum += child[prop];\n if (child.offsetParent === ancestor) {\n // Stop once we have found the ancestor we are interested in.\n break;\n } else if (child.offsetParent.contains(ancestor)) {\n // If the ancestor is not `position:relative`, then we stop at\n // _its_ offset parent, and we subtract off _its_ offset, so that\n // we end up with the proper offset from child to ancestor.\n sum -= ancestor[prop];\n break;\n }\n child = child.offsetParent as HTMLElement;\n }\n return sum;\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\nimport {isIOS, runAfterTransition} from '@react-aria/utils';\n\n// Safari on iOS starts selecting text on long press. The only way to avoid this, it seems,\n// is to add user-select: none to the entire page. Adding it to the pressable element prevents\n// that element from being selected, but nearby elements may still receive selection. We add\n// user-select: none on touch start, and remove it again on touch end to prevent this.\n// This must be implemented using global state to avoid race conditions between multiple elements.\n\n// There are three possible states due to the delay before removing user-select: none after\n// pointer up. The 'default' state always transitions to the 'disabled' state, which transitions\n// to 'restoring'. The 'restoring' state can either transition back to 'disabled' or 'default'.\n\n// For non-iOS devices, we apply user-select: none to the pressed element instead to avoid possible\n// performance issues that arise from applying and removing user-select: none to the entire page\n// (see https://github.com/adobe/react-spectrum/issues/1609).\ntype State = 'default' | 'disabled' | 'restoring';\n\n// Note that state only matters here for iOS. Non-iOS gets user-select: none applied to the target element\n// rather than at the document level so we just need to apply/remove user-select: none for each pressed element individually\nlet state: State = 'default';\nlet savedUserSelect = '';\nlet modifiedElementMap = new WeakMap();\n\nexport function disableTextSelection(target?: HTMLElement) {\n if (isIOS()) {\n if (state === 'default') {\n savedUserSelect = document.documentElement.style.webkitUserSelect;\n document.documentElement.style.webkitUserSelect = 'none';\n }\n\n state = 'disabled';\n } else if (target) {\n // If not iOS, store the target's original user-select and change to user-select: none\n // Ignore state since it doesn't apply for non iOS\n modifiedElementMap.set(target, target.style.userSelect);\n target.style.userSelect = 'none';\n }\n}\n\nexport function restoreTextSelection(target?: HTMLElement) {\n if (isIOS()) {\n // If the state is already default, there's nothing to do.\n // If it is restoring, then there's no need to queue a second restore.\n if (state !== 'disabled') {\n return;\n }\n\n state = 'restoring';\n\n // There appears to be a delay on iOS where selection still might occur\n // after pointer up, so wait a bit before removing user-select.\n setTimeout(() => {\n // Wait for any CSS transitions to complete so we don't recompute style\n // for the whole page in the middle of the animation and cause jank.\n runAfterTransition(() => {\n // Avoid race conditions\n if (state === 'restoring') {\n if (document.documentElement.style.webkitUserSelect === 'none') {\n document.documentElement.style.webkitUserSelect = savedUserSelect || '';\n }\n\n savedUserSelect = '';\n state = 'default';\n }\n });\n }, 300);\n } else {\n // If not iOS, restore the target's original user-select if any\n // Ignore state since it doesn't apply for non iOS\n if (target && modifiedElementMap.has(target)) {\n let targetOldUserSelect = modifiedElementMap.get(target);\n\n if (target.style.userSelect === 'none') {\n target.style.userSelect = targetOldUserSelect;\n }\n\n if (target.getAttribute('style') === '') {\n target.removeAttribute('style');\n }\n modifiedElementMap.delete(target);\n }\n }\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\nimport {FocusEvent as ReactFocusEvent, useRef} from 'react';\nimport {useLayoutEffect} from '@react-aria/utils';\n\n// Original licensing for the following method can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/blob/3c713d513195a53788b3f8bb4b70279d68b15bcc/packages/react-interactions/events/src/dom/shared/index.js#L74-L87\n\n// Keyboards, Assistive Technologies, and element.click() all produce a \"virtual\"\n// click event. This is a method of inferring such clicks. Every browser except\n// IE 11 only sets a zero value of \"detail\" for click events that are \"virtual\".\n// However, IE 11 uses a zero value for all click events. For IE 11 we rely on\n// the quirk that it produces click events that are of type PointerEvent, and\n// where only the \"virtual\" click lacks a pointerType field.\n\nexport function isVirtualClick(event: MouseEvent | PointerEvent): boolean {\n // JAWS/NVDA with Firefox.\n if ((event as any).mozInputSource === 0 && event.isTrusted) {\n return true;\n }\n\n return event.detail === 0 && !(event as PointerEvent).pointerType;\n}\n\nexport class SyntheticFocusEvent implements ReactFocusEvent {\n nativeEvent: FocusEvent;\n target: Element;\n currentTarget: Element;\n relatedTarget: Element;\n bubbles: boolean;\n cancelable: boolean;\n defaultPrevented: boolean;\n eventPhase: number;\n isTrusted: boolean;\n timeStamp: number;\n type: string;\n\n constructor(type: string, nativeEvent: FocusEvent) {\n this.nativeEvent = nativeEvent;\n this.target = nativeEvent.target as Element;\n this.currentTarget = nativeEvent.currentTarget as Element;\n this.relatedTarget = nativeEvent.relatedTarget as Element;\n this.bubbles = nativeEvent.bubbles;\n this.cancelable = nativeEvent.cancelable;\n this.defaultPrevented = nativeEvent.defaultPrevented;\n this.eventPhase = nativeEvent.eventPhase;\n this.isTrusted = nativeEvent.isTrusted;\n this.timeStamp = nativeEvent.timeStamp;\n this.type = type;\n }\n\n isDefaultPrevented(): boolean {\n return this.nativeEvent.defaultPrevented;\n }\n\n preventDefault(): void {\n this.defaultPrevented = true;\n this.nativeEvent.preventDefault();\n }\n\n stopPropagation(): void {\n this.nativeEvent.stopPropagation();\n this.isPropagationStopped = () => true;\n }\n\n isPropagationStopped(): boolean {\n return false;\n }\n\n persist() {}\n}\n\nexport function useSyntheticBlurEvent(onBlur: (e: ReactFocusEvent) => void) {\n let stateRef = useRef({\n isFocused: false,\n onBlur,\n observer: null as MutationObserver\n });\n let state = stateRef.current;\n state.onBlur = onBlur;\n\n // Clean up MutationObserver on unmount. See below.\n // eslint-disable-next-line arrow-body-style\n useLayoutEffect(() => {\n return () => {\n if (state.observer) {\n state.observer.disconnect();\n state.observer = null;\n }\n };\n }, [state]);\n\n // This function is called during a React onFocus event.\n return (e: ReactFocusEvent) => {\n // React does not fire onBlur when an element is disabled. https://github.com/facebook/react/issues/9142\n // Most browsers fire a native focusout event in this case, except for Firefox. In that case, we use a\n // MutationObserver to watch for the disabled attribute, and dispatch these events ourselves.\n // For browsers that do, focusout fires before the MutationObserver, so onBlur should not fire twice.\n if (\n e.target instanceof HTMLButtonElement ||\n e.target instanceof HTMLInputElement ||\n e.target instanceof HTMLTextAreaElement ||\n e.target instanceof HTMLSelectElement\n ) {\n state.isFocused = true;\n\n let target = e.target;\n let onBlurHandler = (e: FocusEvent) => {\n let state = stateRef.current;\n state.isFocused = false;\n\n if (target.disabled) {\n // For backward compatibility, dispatch a (fake) React synthetic event.\n state.onBlur?.(new SyntheticFocusEvent('blur', e));\n }\n\n // We no longer need the MutationObserver once the target is blurred.\n if (state.observer) {\n state.observer.disconnect();\n state.observer = null;\n }\n };\n\n target.addEventListener('focusout', onBlurHandler, {once: true});\n\n state.observer = new MutationObserver(() => {\n if (state.isFocused && target.disabled) {\n state.observer.disconnect();\n target.dispatchEvent(new FocusEvent('blur'));\n target.dispatchEvent(new FocusEvent('focusout', {bubbles: true}));\n }\n });\n\n state.observer.observe(target, {attributes: true, attributeFilter: ['disabled']});\n }\n };\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\nimport {PressProps} from './usePress';\nimport React, {MutableRefObject} from 'react';\n\ninterface IPressResponderContext extends PressProps {\n register(): void,\n ref?: MutableRefObject\n}\n\nexport const PressResponderContext = React.createContext(null);\nPressResponderContext.displayName = 'PressResponderContext';\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// Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\nimport {disableTextSelection, restoreTextSelection} from './textSelection';\nimport {focusWithoutScrolling, mergeProps, useGlobalListeners, useSyncRef} from '@react-aria/utils';\nimport {HTMLAttributes, RefObject, useContext, useEffect, useMemo, useRef, useState} from 'react';\nimport {isVirtualClick} from './utils';\nimport {PointerType, PressEvents} from '@react-types/shared';\nimport {PressResponderContext} from './context';\n\nexport interface PressProps extends PressEvents {\n /** Whether the target is in a controlled press state (e.g. an overlay it triggers is open). */\n isPressed?: boolean,\n /** Whether the press events should be disabled. */\n isDisabled?: boolean,\n /** Whether the target should not receive focus on press. */\n preventFocusOnPress?: boolean,\n /**\n * Whether press events should be canceled when the pointer leaves the target while pressed.\n * By default, this is `false`, which means if the pointer returns back over the target while\n * still pressed, onPressStart will be fired again. If set to `true`, the press is canceled\n * when the pointer leaves the target and onPressStart will not be fired if the pointer returns.\n */\n shouldCancelOnPointerExit?: boolean,\n /** Whether text selection should be enabled on the pressable element. */\n allowTextSelectionOnPress?: boolean\n}\n\nexport interface PressHookProps extends PressProps {\n /** A ref to the target element. */\n ref?: RefObject\n}\n\ninterface PressState {\n isPressed: boolean,\n ignoreEmulatedMouseEvents: boolean,\n ignoreClickAfterPress: boolean,\n didFirePressStart: boolean,\n activePointerId: any,\n target: HTMLElement | null,\n isOverTarget: boolean,\n pointerType: PointerType,\n userSelect?: string\n}\n\ninterface EventBase {\n currentTarget: EventTarget,\n shiftKey: boolean,\n ctrlKey: boolean,\n metaKey: boolean,\n altKey: boolean\n}\n\nexport interface PressResult {\n /** Whether the target is currently pressed. */\n isPressed: boolean,\n /** Props to spread on the target element. */\n pressProps: HTMLAttributes\n}\n\nfunction usePressResponderContext(props: PressHookProps): PressHookProps {\n // Consume context from and merge with props.\n let context = useContext(PressResponderContext);\n if (context) {\n let {register, ...contextProps} = context;\n props = mergeProps(contextProps, props) as PressHookProps;\n register();\n }\n useSyncRef(context, props.ref);\n\n return props;\n}\n\n/**\n * Handles press interactions across mouse, touch, keyboard, and screen readers.\n * It normalizes behavior across browsers and platforms, and handles many nuances\n * of dealing with pointer and keyboard events.\n */\nexport function usePress(props: PressHookProps): PressResult {\n let {\n onPress,\n onPressChange,\n onPressStart,\n onPressEnd,\n onPressUp,\n isDisabled,\n isPressed: isPressedProp,\n preventFocusOnPress,\n shouldCancelOnPointerExit,\n allowTextSelectionOnPress,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ref: _, // Removing `ref` from `domProps` because TypeScript is dumb\n ...domProps\n } = usePressResponderContext(props);\n let propsRef = useRef(null);\n propsRef.current = {onPress, onPressChange, onPressStart, onPressEnd, onPressUp, isDisabled, shouldCancelOnPointerExit};\n\n let [isPressed, setPressed] = useState(false);\n let ref = useRef({\n isPressed: false,\n ignoreEmulatedMouseEvents: false,\n ignoreClickAfterPress: false,\n didFirePressStart: false,\n activePointerId: null,\n target: null,\n isOverTarget: false,\n pointerType: null\n });\n\n let {addGlobalListener, removeAllGlobalListeners} = useGlobalListeners();\n\n let pressProps = useMemo(() => {\n let state = ref.current;\n let triggerPressStart = (originalEvent: EventBase, pointerType: PointerType) => {\n let {onPressStart, onPressChange, isDisabled} = propsRef.current;\n if (isDisabled || state.didFirePressStart) {\n return;\n }\n\n if (onPressStart) {\n onPressStart({\n type: 'pressstart',\n pointerType,\n target: originalEvent.currentTarget as HTMLElement,\n shiftKey: originalEvent.shiftKey,\n metaKey: originalEvent.metaKey,\n ctrlKey: originalEvent.ctrlKey,\n altKey: originalEvent.altKey\n });\n }\n\n if (onPressChange) {\n onPressChange(true);\n }\n\n state.didFirePressStart = true;\n setPressed(true);\n };\n\n let triggerPressEnd = (originalEvent: EventBase, pointerType: PointerType, wasPressed = true) => {\n let {onPressEnd, onPressChange, onPress, isDisabled} = propsRef.current;\n if (!state.didFirePressStart) {\n return;\n }\n\n state.ignoreClickAfterPress = true;\n state.didFirePressStart = false;\n\n if (onPressEnd) {\n onPressEnd({\n type: 'pressend',\n pointerType,\n target: originalEvent.currentTarget as HTMLElement,\n shiftKey: originalEvent.shiftKey,\n metaKey: originalEvent.metaKey,\n ctrlKey: originalEvent.ctrlKey,\n altKey: originalEvent.altKey\n });\n }\n\n if (onPressChange) {\n onPressChange(false);\n }\n\n setPressed(false);\n\n if (onPress && wasPressed && !isDisabled) {\n onPress({\n type: 'press',\n pointerType,\n target: originalEvent.currentTarget as HTMLElement,\n shiftKey: originalEvent.shiftKey,\n metaKey: originalEvent.metaKey,\n ctrlKey: originalEvent.ctrlKey,\n altKey: originalEvent.altKey\n });\n }\n };\n\n let triggerPressUp = (originalEvent: EventBase, pointerType: PointerType) => {\n let {onPressUp, isDisabled} = propsRef.current;\n if (isDisabled) {\n return;\n }\n\n if (onPressUp) {\n onPressUp({\n type: 'pressup',\n pointerType,\n target: originalEvent.currentTarget as HTMLElement,\n shiftKey: originalEvent.shiftKey,\n metaKey: originalEvent.metaKey,\n ctrlKey: originalEvent.ctrlKey,\n altKey: originalEvent.altKey\n });\n }\n };\n\n let cancel = (e: EventBase) => {\n if (state.isPressed) {\n if (state.isOverTarget) {\n triggerPressEnd(createEvent(state.target, e), state.pointerType, false);\n }\n state.isPressed = false;\n state.isOverTarget = false;\n state.activePointerId = null;\n state.pointerType = null;\n removeAllGlobalListeners();\n if (!allowTextSelectionOnPress) {\n restoreTextSelection(state.target);\n }\n }\n };\n\n let pressProps: HTMLAttributes = {\n onKeyDown(e) {\n if (isValidKeyboardEvent(e.nativeEvent) && e.currentTarget.contains(e.target as HTMLElement)) {\n if (shouldPreventDefaultKeyboard(e.target as Element)) {\n e.preventDefault();\n }\n e.stopPropagation();\n\n // If the event is repeating, it may have started on a different element\n // after which focus moved to the current element. Ignore these events and\n // only handle the first key down event.\n if (!state.isPressed && !e.repeat) {\n state.target = e.currentTarget as HTMLElement;\n state.isPressed = true;\n triggerPressStart(e, 'keyboard');\n\n // Focus may move before the key up event, so register the event on the document\n // instead of the same element where the key down event occurred.\n addGlobalListener(document, 'keyup', onKeyUp, false);\n }\n }\n },\n onKeyUp(e) {\n if (isValidKeyboardEvent(e.nativeEvent) && !e.repeat && e.currentTarget.contains(e.target as HTMLElement)) {\n triggerPressUp(createEvent(state.target, e), 'keyboard');\n }\n },\n onClick(e) {\n if (e && !e.currentTarget.contains(e.target as HTMLElement)) {\n return;\n }\n\n if (e && e.button === 0) {\n e.stopPropagation();\n if (isDisabled) {\n e.preventDefault();\n }\n\n // If triggered from a screen reader or by using element.click(),\n // trigger as if it were a keyboard click.\n if (!state.ignoreClickAfterPress && !state.ignoreEmulatedMouseEvents && (state.pointerType === 'virtual' || isVirtualClick(e.nativeEvent))) {\n // Ensure the element receives focus (VoiceOver on iOS does not do this)\n if (!isDisabled && !preventFocusOnPress) {\n focusWithoutScrolling(e.currentTarget);\n }\n\n triggerPressStart(e, 'virtual');\n triggerPressUp(e, 'virtual');\n triggerPressEnd(e, 'virtual');\n }\n\n state.ignoreEmulatedMouseEvents = false;\n state.ignoreClickAfterPress = false;\n }\n }\n };\n\n let onKeyUp = (e: KeyboardEvent) => {\n if (state.isPressed && isValidKeyboardEvent(e)) {\n if (shouldPreventDefaultKeyboard(e.target as Element)) {\n e.preventDefault();\n }\n e.stopPropagation();\n\n state.isPressed = false;\n let target = e.target as HTMLElement;\n triggerPressEnd(createEvent(state.target, e), 'keyboard', state.target.contains(target));\n removeAllGlobalListeners();\n\n // If the target is a link, trigger the click method to open the URL,\n // but defer triggering pressEnd until onClick event handler.\n if (state.target.contains(target) && isHTMLAnchorLink(state.target) || state.target.getAttribute('role') === 'link') {\n state.target.click();\n }\n }\n };\n\n if (typeof PointerEvent !== 'undefined') {\n pressProps.onPointerDown = (e) => {\n // Only handle left clicks, and ignore events that bubbled through portals.\n if (e.button !== 0 || !e.currentTarget.contains(e.target as HTMLElement)) {\n return;\n }\n\n // iOS safari fires pointer events from VoiceOver with incorrect coordinates/target.\n // Ignore and let the onClick handler take care of it instead.\n // https://bugs.webkit.org/show_bug.cgi?id=222627\n // https://bugs.webkit.org/show_bug.cgi?id=223202\n if (isVirtualPointerEvent(e.nativeEvent)) {\n state.pointerType = 'virtual';\n return;\n }\n\n // Due to browser inconsistencies, especially on mobile browsers, we prevent\n // default on pointer down and handle focusing the pressable element ourselves.\n if (shouldPreventDefault(e.currentTarget as HTMLElement)) {\n e.preventDefault();\n }\n\n state.pointerType = e.pointerType;\n\n e.stopPropagation();\n if (!state.isPressed) {\n state.isPressed = true;\n state.isOverTarget = true;\n state.activePointerId = e.pointerId;\n state.target = e.currentTarget;\n\n if (!isDisabled && !preventFocusOnPress) {\n focusWithoutScrolling(e.currentTarget);\n }\n\n if (!allowTextSelectionOnPress) {\n disableTextSelection(state.target);\n }\n\n triggerPressStart(e, state.pointerType);\n\n addGlobalListener(document, 'pointermove', onPointerMove, false);\n addGlobalListener(document, 'pointerup', onPointerUp, false);\n addGlobalListener(document, 'pointercancel', onPointerCancel, false);\n }\n };\n\n pressProps.onMouseDown = (e) => {\n if (!e.currentTarget.contains(e.target as HTMLElement)) {\n return;\n }\n\n if (e.button === 0) {\n // Chrome and Firefox on touch Windows devices require mouse down events\n // to be canceled in addition to pointer events, or an extra asynchronous\n // focus event will be fired.\n if (shouldPreventDefault(e.currentTarget as HTMLElement)) {\n e.preventDefault();\n }\n\n e.stopPropagation();\n }\n };\n\n pressProps.onPointerUp = (e) => {\n // iOS fires pointerup with zero width and height, so check the pointerType recorded during pointerdown.\n if (!e.currentTarget.contains(e.target as HTMLElement) || state.pointerType === 'virtual') {\n return;\n }\n\n // Only handle left clicks\n // Safari on iOS sometimes fires pointerup events, even\n // when the touch isn't over the target, so double check.\n if (e.button === 0 && isOverTarget(e, e.currentTarget)) {\n triggerPressUp(e, state.pointerType || e.pointerType);\n }\n };\n\n // Safari on iOS < 13.2 does not implement pointerenter/pointerleave events correctly.\n // Use pointer move events instead to implement our own hit testing.\n // See https://bugs.webkit.org/show_bug.cgi?id=199803\n let onPointerMove = (e: PointerEvent) => {\n if (e.pointerId !== state.activePointerId) {\n return;\n }\n\n if (isOverTarget(e, state.target)) {\n if (!state.isOverTarget) {\n state.isOverTarget = true;\n triggerPressStart(createEvent(state.target, e), state.pointerType);\n }\n } else if (state.isOverTarget) {\n state.isOverTarget = false;\n triggerPressEnd(createEvent(state.target, e), state.pointerType, false);\n if (propsRef.current.shouldCancelOnPointerExit) {\n cancel(e);\n }\n }\n };\n\n let onPointerUp = (e: PointerEvent) => {\n if (e.pointerId === state.activePointerId && state.isPressed && e.button === 0) {\n if (isOverTarget(e, state.target)) {\n triggerPressEnd(createEvent(state.target, e), state.pointerType);\n } else if (state.isOverTarget) {\n triggerPressEnd(createEvent(state.target, e), state.pointerType, false);\n }\n\n state.isPressed = false;\n state.isOverTarget = false;\n state.activePointerId = null;\n state.pointerType = null;\n removeAllGlobalListeners();\n if (!allowTextSelectionOnPress) {\n restoreTextSelection(state.target);\n }\n }\n };\n\n let onPointerCancel = (e: PointerEvent) => {\n cancel(e);\n };\n\n pressProps.onDragStart = (e) => {\n if (!e.currentTarget.contains(e.target as HTMLElement)) {\n return;\n }\n\n // Safari does not call onPointerCancel when a drag starts, whereas Chrome and Firefox do.\n cancel(e);\n };\n } else {\n pressProps.onMouseDown = (e) => {\n // Only handle left clicks\n if (e.button !== 0 || !e.currentTarget.contains(e.target as HTMLElement)) {\n return;\n }\n\n // Due to browser inconsistencies, especially on mobile browsers, we prevent\n // default on mouse down and handle focusing the pressable element ourselves.\n if (shouldPreventDefault(e.currentTarget as HTMLElement)) {\n e.preventDefault();\n }\n\n e.stopPropagation();\n if (state.ignoreEmulatedMouseEvents) {\n return;\n }\n\n state.isPressed = true;\n state.isOverTarget = true;\n state.target = e.currentTarget;\n state.pointerType = isVirtualClick(e.nativeEvent) ? 'virtual' : 'mouse';\n\n if (!isDisabled && !preventFocusOnPress) {\n focusWithoutScrolling(e.currentTarget);\n }\n\n triggerPressStart(e, state.pointerType);\n\n addGlobalListener(document, 'mouseup', onMouseUp, false);\n };\n\n pressProps.onMouseEnter = (e) => {\n if (!e.currentTarget.contains(e.target as HTMLElement)) {\n return;\n }\n\n e.stopPropagation();\n if (state.isPressed && !state.ignoreEmulatedMouseEvents) {\n state.isOverTarget = true;\n triggerPressStart(e, state.pointerType);\n }\n };\n\n pressProps.onMouseLeave = (e) => {\n if (!e.currentTarget.contains(e.target as HTMLElement)) {\n return;\n }\n\n e.stopPropagation();\n if (state.isPressed && !state.ignoreEmulatedMouseEvents) {\n state.isOverTarget = false;\n triggerPressEnd(e, state.pointerType, false);\n if (propsRef.current.shouldCancelOnPointerExit) {\n cancel(e);\n }\n }\n };\n\n pressProps.onMouseUp = (e) => {\n if (!e.currentTarget.contains(e.target as HTMLElement)) {\n return;\n }\n\n if (!state.ignoreEmulatedMouseEvents && e.button === 0) {\n triggerPressUp(e, state.pointerType);\n }\n };\n\n let onMouseUp = (e: MouseEvent) => {\n // Only handle left clicks\n if (e.button !== 0) {\n return;\n }\n\n state.isPressed = false;\n removeAllGlobalListeners();\n\n if (state.ignoreEmulatedMouseEvents) {\n state.ignoreEmulatedMouseEvents = false;\n return;\n }\n\n if (isOverTarget(e, state.target)) {\n triggerPressEnd(createEvent(state.target, e), state.pointerType);\n } else if (state.isOverTarget) {\n triggerPressEnd(createEvent(state.target, e), state.pointerType, false);\n }\n\n state.isOverTarget = false;\n };\n\n pressProps.onTouchStart = (e) => {\n if (!e.currentTarget.contains(e.target as HTMLElement)) {\n return;\n }\n\n e.stopPropagation();\n let touch = getTouchFromEvent(e.nativeEvent);\n if (!touch) {\n return;\n }\n state.activePointerId = touch.identifier;\n state.ignoreEmulatedMouseEvents = true;\n state.isOverTarget = true;\n state.isPressed = true;\n state.target = e.currentTarget;\n state.pointerType = 'touch';\n\n // Due to browser inconsistencies, especially on mobile browsers, we prevent default\n // on the emulated mouse event and handle focusing the pressable element ourselves.\n if (!isDisabled && !preventFocusOnPress) {\n focusWithoutScrolling(e.currentTarget);\n }\n\n if (!allowTextSelectionOnPress) {\n disableTextSelection(state.target);\n }\n\n triggerPressStart(e, state.pointerType);\n\n addGlobalListener(window, 'scroll', onScroll, true);\n };\n\n pressProps.onTouchMove = (e) => {\n if (!e.currentTarget.contains(e.target as HTMLElement)) {\n return;\n }\n\n e.stopPropagation();\n if (!state.isPressed) {\n return;\n }\n\n let touch = getTouchById(e.nativeEvent, state.activePointerId);\n if (touch && isOverTarget(touch, e.currentTarget)) {\n if (!state.isOverTarget) {\n state.isOverTarget = true;\n triggerPressStart(e, state.pointerType);\n }\n } else if (state.isOverTarget) {\n state.isOverTarget = false;\n triggerPressEnd(e, state.pointerType, false);\n if (propsRef.current.shouldCancelOnPointerExit) {\n cancel(e);\n }\n }\n };\n\n pressProps.onTouchEnd = (e) => {\n if (!e.currentTarget.contains(e.target as HTMLElement)) {\n return;\n }\n\n e.stopPropagation();\n if (!state.isPressed) {\n return;\n }\n\n let touch = getTouchById(e.nativeEvent, state.activePointerId);\n if (touch && isOverTarget(touch, e.currentTarget)) {\n triggerPressUp(e, state.pointerType);\n triggerPressEnd(e, state.pointerType);\n } else if (state.isOverTarget) {\n triggerPressEnd(e, state.pointerType, false);\n }\n\n state.isPressed = false;\n state.activePointerId = null;\n state.isOverTarget = false;\n state.ignoreEmulatedMouseEvents = true;\n if (!allowTextSelectionOnPress) {\n restoreTextSelection(state.target);\n }\n removeAllGlobalListeners();\n };\n\n pressProps.onTouchCancel = (e) => {\n if (!e.currentTarget.contains(e.target as HTMLElement)) {\n return;\n }\n\n e.stopPropagation();\n if (state.isPressed) {\n cancel(e);\n }\n };\n\n let onScroll = (e: Event) => {\n if (state.isPressed && (e.target as HTMLElement).contains(state.target)) {\n cancel({\n currentTarget: state.target,\n shiftKey: false,\n ctrlKey: false,\n metaKey: false,\n altKey: false\n });\n }\n };\n\n pressProps.onDragStart = (e) => {\n if (!e.currentTarget.contains(e.target as HTMLElement)) {\n return;\n }\n\n cancel(e);\n };\n }\n\n return pressProps;\n }, [addGlobalListener, isDisabled, preventFocusOnPress, removeAllGlobalListeners, allowTextSelectionOnPress]);\n\n // Remove user-select: none in case component unmounts immediately after pressStart\n // eslint-disable-next-line arrow-body-style\n useEffect(() => {\n return () => {\n if (!allowTextSelectionOnPress) {\n restoreTextSelection(ref.current.target);\n }\n };\n }, [allowTextSelectionOnPress]);\n\n return {\n isPressed: isPressedProp || isPressed,\n pressProps: mergeProps(domProps, pressProps)\n };\n}\n\nfunction isHTMLAnchorLink(target: HTMLElement): boolean {\n return target.tagName === 'A' && target.hasAttribute('href');\n}\n\nfunction isValidKeyboardEvent(event: KeyboardEvent): boolean {\n const {key, code, target} = event;\n const element = target as HTMLElement;\n const {tagName, isContentEditable} = element;\n const role = element.getAttribute('role');\n // Accessibility for keyboards. Space and Enter only.\n // \"Spacebar\" is for IE 11\n return (\n (key === 'Enter' || key === ' ' || key === 'Spacebar' || code === 'Space') &&\n (tagName !== 'INPUT' &&\n tagName !== 'TEXTAREA' &&\n isContentEditable !== true) &&\n // A link with a valid href should be handled natively,\n // unless it also has role='button' and was triggered using Space.\n (!isHTMLAnchorLink(element) || (role === 'button' && key !== 'Enter')) &&\n // An element with role='link' should only trigger with Enter key\n !(role === 'link' && key !== 'Enter')\n );\n}\n\nfunction getTouchFromEvent(event: TouchEvent): Touch | null {\n const {targetTouches} = event;\n if (targetTouches.length > 0) {\n return targetTouches[0];\n }\n return null;\n}\n\nfunction getTouchById(\n event: TouchEvent,\n pointerId: null | number\n): null | Touch {\n const changedTouches = event.changedTouches;\n for (let i = 0; i < changedTouches.length; i++) {\n const touch = changedTouches[i];\n if (touch.identifier === pointerId) {\n return touch;\n }\n }\n return null;\n}\n\nfunction createEvent(target: HTMLElement, e: EventBase): EventBase {\n return {\n currentTarget: target,\n shiftKey: e.shiftKey,\n ctrlKey: e.ctrlKey,\n metaKey: e.metaKey,\n altKey: e.altKey\n };\n}\n\ninterface Rect {\n top: number,\n right: number,\n bottom: number,\n left: number\n}\n\ninterface EventPoint {\n clientX: number,\n clientY: number,\n width?: number,\n height?: number,\n radiusX?: number,\n radiusY?: number\n}\n\nfunction getPointClientRect(point: EventPoint): Rect {\n let offsetX = (point.width / 2) || point.radiusX || 0;\n let offsetY = (point.height / 2) || point.radiusY || 0;\n\n return {\n top: point.clientY - offsetY,\n right: point.clientX + offsetX,\n bottom: point.clientY + offsetY,\n left: point.clientX - offsetX\n };\n}\n\nfunction areRectanglesOverlapping(a: Rect, b: Rect) {\n // check if they cannot overlap on x axis\n if (a.left > b.right || b.left > a.right) {\n return false;\n }\n // check if they cannot overlap on y axis\n if (a.top > b.bottom || b.top > a.bottom) {\n return false;\n }\n return true;\n}\n\nfunction isOverTarget(point: EventPoint, target: HTMLElement) {\n let rect = target.getBoundingClientRect();\n let pointRect = getPointClientRect(point);\n return areRectanglesOverlapping(rect, pointRect);\n}\n\nfunction shouldPreventDefault(target: HTMLElement) {\n // We cannot prevent default if the target is a draggable element.\n return !target.draggable;\n}\n\nfunction shouldPreventDefaultKeyboard(target: Element) {\n return !((target.tagName === 'INPUT' || target.tagName === 'BUTTON') && (target as HTMLButtonElement | HTMLInputElement).type === 'submit');\n}\n\nfunction isVirtualPointerEvent(event: PointerEvent) {\n // If the pointer size is zero, then we assume it's from a screen reader.\n // Android TalkBack double tap will sometimes return a event with width and height of 1\n // and pointerType === 'mouse' so we need to check for a specific combination of event attributes.\n // Cannot use \"event.pressure === 0\" as the sole check due to Safari pointer events always returning pressure === 0\n // instead of .5, see https://bugs.webkit.org/show_bug.cgi?id=206216\n return (\n (event.width === 0 && event.height === 0) ||\n (event.width === 1 &&\n event.height === 1 &&\n event.pressure === 0 &&\n event.detail === 0\n )\n );\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\nimport {mergeProps} from '@react-aria/utils';\nimport {PressProps, usePress} from './usePress';\nimport React, {HTMLAttributes, ReactElement, RefObject, useRef} from 'react';\n\ninterface PressableProps extends PressProps {\n children: ReactElement, string>\n}\n\nexport const Pressable = React.forwardRef(({children, ...props}: PressableProps, ref: RefObject) => {\n let newRef = useRef();\n ref = ref ?? newRef;\n let {pressProps} = usePress({...props, ref});\n let child = React.Children.only(children);\n return React.cloneElement(\n child,\n // @ts-ignore\n {ref, ...mergeProps(child.props, pressProps)}\n );\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\nimport {mergeProps, useSyncRef} from '@react-aria/utils';\nimport {PressProps} from './usePress';\nimport {PressResponderContext} from './context';\nimport React, {ReactNode, RefObject, useContext, useEffect, useRef} from 'react';\n\ninterface PressResponderProps extends PressProps {\n children: ReactNode\n}\n\nexport const PressResponder = React.forwardRef(({children, ...props}: PressResponderProps, ref: RefObject) => {\n let isRegistered = useRef(false);\n let prevContext = useContext(PressResponderContext);\n let context = mergeProps(prevContext || {}, {\n ...props,\n ref: ref || prevContext?.ref,\n register() {\n isRegistered.current = true;\n if (prevContext) {\n prevContext.register();\n }\n }\n });\n\n useSyncRef(prevContext, ref);\n\n useEffect(() => {\n if (!isRegistered.current) {\n console.warn(\n 'A PressResponder was rendered without a pressable child. ' +\n 'Either call the usePress hook, or wrap your DOM node with component.'\n );\n }\n }, []);\n\n return (\n \n {children}\n \n );\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// Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\nimport {FocusEvent, HTMLAttributes} from 'react';\nimport {FocusEvents} from '@react-types/shared';\nimport {useSyntheticBlurEvent} from './utils';\n\ninterface FocusProps extends FocusEvents {\n /** Whether the focus events should be disabled. */\n isDisabled?: boolean\n}\n\ninterface FocusResult {\n /** Props to spread onto the target element. */\n focusProps: HTMLAttributes\n}\n\n/**\n * Handles focus events for the immediate target.\n * Focus events on child elements will be ignored.\n */\nexport function useFocus(props: FocusProps): FocusResult {\n let onBlur: FocusProps['onBlur'];\n if (!props.isDisabled && (props.onBlur || props.onFocusChange)) {\n onBlur = (e: FocusEvent) => {\n if (e.target === e.currentTarget) {\n if (props.onBlur) {\n props.onBlur(e);\n }\n\n if (props.onFocusChange) {\n props.onFocusChange(false);\n }\n\n return true;\n }\n };\n } else {\n onBlur = null;\n }\n\n let onSyntheticFocus = useSyntheticBlurEvent(onBlur);\n\n let onFocus: FocusProps['onFocus'];\n if (!props.isDisabled && (props.onFocus || props.onFocusChange || props.onBlur)) {\n onFocus = (e: FocusEvent) => {\n if (e.target === e.currentTarget) {\n if (props.onFocus) {\n props.onFocus(e);\n }\n\n if (props.onFocusChange) {\n props.onFocusChange(true);\n }\n\n onSyntheticFocus(e);\n }\n };\n }\n\n return {\n focusProps: {\n onFocus,\n onBlur\n }\n };\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// Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\nimport {isMac} from '@react-aria/utils';\nimport {isVirtualClick} from './utils';\nimport {useEffect, useState} from 'react';\n\ntype Modality = 'keyboard' | 'pointer' | 'virtual';\ntype HandlerEvent = PointerEvent | MouseEvent | KeyboardEvent | FocusEvent;\ntype Handler = (modality: Modality, e: HandlerEvent) => void;\ntype FocusVisibleHandler = (isFocusVisible: boolean) => void;\ninterface FocusVisibleProps {\n /** Whether the element is a text input. */\n isTextInput?: boolean,\n /** Whether the element will be auto focused. */\n autoFocus?: boolean\n}\n\ninterface FocusVisibleResult {\n /** Whether keyboard focus is visible globally. */\n isFocusVisible: boolean\n}\n\nlet currentModality = null;\nlet changeHandlers = new Set();\nlet hasSetupGlobalListeners = false;\nlet hasEventBeforeFocus = false;\nlet hasBlurredWindowRecently = false;\n\n// Only Tab or Esc keys will make focus visible on text input elements\nconst FOCUS_VISIBLE_INPUT_KEYS = {\n Tab: true,\n Escape: true\n};\n\nfunction triggerChangeHandlers(modality: Modality, e: HandlerEvent) {\n for (let handler of changeHandlers) {\n handler(modality, e);\n }\n}\n\n/**\n * Helper function to determine if a KeyboardEvent is unmodified and could make keyboard focus styles visible.\n */\nfunction isValidKey(e: KeyboardEvent) {\n // Control and Shift keys trigger when navigating back to the tab with keyboard.\n return !(e.metaKey || (!isMac() && e.altKey) || e.ctrlKey || e.key === 'Control' || e.key === 'Shift' || e.key === 'Meta');\n}\n\n\nfunction handleKeyboardEvent(e: KeyboardEvent) {\n hasEventBeforeFocus = true;\n if (isValidKey(e)) {\n currentModality = 'keyboard';\n triggerChangeHandlers('keyboard', e);\n }\n}\n\nfunction handlePointerEvent(e: PointerEvent | MouseEvent) {\n currentModality = 'pointer';\n if (e.type === 'mousedown' || e.type === 'pointerdown') {\n hasEventBeforeFocus = true;\n triggerChangeHandlers('pointer', e);\n }\n}\n\nfunction handleClickEvent(e: MouseEvent) {\n if (isVirtualClick(e)) {\n hasEventBeforeFocus = true;\n currentModality = 'virtual';\n }\n}\n\nfunction handleFocusEvent(e: FocusEvent) {\n // Firefox fires two extra focus events when the user first clicks into an iframe:\n // first on the window, then on the document. We ignore these events so they don't\n // cause keyboard focus rings to appear.\n if (e.target === window || e.target === document) {\n return;\n }\n\n // If a focus event occurs without a preceding keyboard or pointer event, switch to virtual modality.\n // This occurs, for example, when navigating a form with the next/previous buttons on iOS.\n if (!hasEventBeforeFocus && !hasBlurredWindowRecently) {\n currentModality = 'virtual';\n triggerChangeHandlers('virtual', e);\n }\n\n hasEventBeforeFocus = false;\n hasBlurredWindowRecently = false;\n}\n\nfunction handleWindowBlur() {\n // When the window is blurred, reset state. This is necessary when tabbing out of the window,\n // for example, since a subsequent focus event won't be fired.\n hasEventBeforeFocus = false;\n hasBlurredWindowRecently = true;\n}\n\n/**\n * Setup global event listeners to control when keyboard focus style should be visible.\n */\nfunction setupGlobalFocusEvents() {\n if (typeof window === 'undefined' || hasSetupGlobalListeners) {\n return;\n }\n\n // Programmatic focus() calls shouldn't affect the current input modality.\n // However, we need to detect other cases when a focus event occurs without\n // a preceding user event (e.g. screen reader focus). Overriding the focus\n // method on HTMLElement.prototype is a bit hacky, but works.\n let focus = HTMLElement.prototype.focus;\n HTMLElement.prototype.focus = function () {\n hasEventBeforeFocus = true;\n focus.apply(this, arguments);\n };\n\n document.addEventListener('keydown', handleKeyboardEvent, true);\n document.addEventListener('keyup', handleKeyboardEvent, true);\n document.addEventListener('click', handleClickEvent, true);\n\n // Register focus events on the window so they are sure to happen\n // before React's event listeners (registered on the document).\n window.addEventListener('focus', handleFocusEvent, true);\n window.addEventListener('blur', handleWindowBlur, false);\n\n if (typeof PointerEvent !== 'undefined') {\n document.addEventListener('pointerdown', handlePointerEvent, true);\n document.addEventListener('pointermove', handlePointerEvent, true);\n document.addEventListener('pointerup', handlePointerEvent, true);\n } else {\n document.addEventListener('mousedown', handlePointerEvent, true);\n document.addEventListener('mousemove', handlePointerEvent, true);\n document.addEventListener('mouseup', handlePointerEvent, true);\n }\n\n hasSetupGlobalListeners = true;\n}\n\nif (typeof document !== 'undefined') {\n if (document.readyState !== 'loading') {\n setupGlobalFocusEvents();\n } else {\n document.addEventListener('DOMContentLoaded', setupGlobalFocusEvents);\n }\n}\n\n/**\n * If true, keyboard focus is visible.\n */\nexport function isFocusVisible(): boolean {\n return currentModality !== 'pointer';\n}\n\nexport function getInteractionModality(): Modality {\n return currentModality;\n}\n\nexport function setInteractionModality(modality: Modality) {\n currentModality = modality;\n triggerChangeHandlers(modality, null);\n}\n\n/**\n * Keeps state of the current modality.\n */\nexport function useInteractionModality(): Modality {\n setupGlobalFocusEvents();\n\n let [modality, setModality] = useState(currentModality);\n useEffect(() => {\n let handler = () => {\n setModality(currentModality);\n };\n\n changeHandlers.add(handler);\n return () => {\n changeHandlers.delete(handler);\n };\n }, []);\n\n return modality;\n}\n\n/**\n * If this is attached to text input component, return if the event is a focus event (Tab/Escape keys pressed) so that\n * focus visible style can be properly set.\n */\nfunction isKeyboardFocusEvent(isTextInput: boolean, modality: Modality, e: HandlerEvent) {\n return !(isTextInput && modality === 'keyboard' && e instanceof KeyboardEvent && !FOCUS_VISIBLE_INPUT_KEYS[e.key]);\n}\n\n/**\n * Manages focus visible state for the page, and subscribes individual components for updates.\n */\nexport function useFocusVisible(props: FocusVisibleProps = {}): FocusVisibleResult {\n let {isTextInput, autoFocus} = props;\n let [isFocusVisibleState, setFocusVisible] = useState(autoFocus || isFocusVisible());\n useFocusVisibleListener((isFocusVisible) => {\n setFocusVisible(isFocusVisible);\n }, [isTextInput], {isTextInput});\n\n return {isFocusVisible: isFocusVisibleState};\n}\n\n/**\n * Listens for trigger change and reports if focus is visible (i.e., modality is not pointer).\n */\nexport function useFocusVisibleListener(fn: FocusVisibleHandler, deps: ReadonlyArray, opts?: {isTextInput?: boolean}): void {\n setupGlobalFocusEvents();\n\n useEffect(() => {\n let handler = (modality: Modality, e: HandlerEvent) => {\n if (!isKeyboardFocusEvent(opts?.isTextInput, modality, e)) {\n return;\n }\n fn(isFocusVisible());\n };\n changeHandlers.add(handler);\n return () => {\n changeHandlers.delete(handler);\n };\n }, deps);\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// Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\nimport {FocusEvent, HTMLAttributes, useRef} from 'react';\nimport {useSyntheticBlurEvent} from './utils';\n\ninterface FocusWithinProps {\n /** Whether the focus within events should be disabled. */\n isDisabled?: boolean,\n /** Handler that is called when the target element or a descendant receives focus. */\n onFocusWithin?: (e: FocusEvent) => void,\n /** Handler that is called when the target element and all descendants lose focus. */\n onBlurWithin?: (e: FocusEvent) => void,\n /** Handler that is called when the the focus within state changes. */\n onFocusWithinChange?: (isFocusWithin: boolean) => void\n}\n\ninterface FocusWithinResult {\n /** Props to spread onto the target element. */\n focusWithinProps: HTMLAttributes\n}\n\n/**\n * Handles focus events for the target and its descendants.\n */\nexport function useFocusWithin(props: FocusWithinProps): FocusWithinResult {\n let state = useRef({\n isFocusWithin: false\n }).current;\n\n let onBlur = props.isDisabled ? null : (e: FocusEvent) => {\n // We don't want to trigger onBlurWithin and then immediately onFocusWithin again\n // when moving focus inside the element. Only trigger if the currentTarget doesn't\n // include the relatedTarget (where focus is moving).\n if (state.isFocusWithin && !(e.currentTarget as Element).contains(e.relatedTarget as Element)) {\n state.isFocusWithin = false;\n\n if (props.onBlurWithin) {\n props.onBlurWithin(e);\n }\n\n if (props.onFocusWithinChange) {\n props.onFocusWithinChange(false);\n }\n }\n };\n\n let onSyntheticFocus = useSyntheticBlurEvent(onBlur);\n let onFocus = props.isDisabled ? null : (e: FocusEvent) => {\n if (!state.isFocusWithin) {\n if (props.onFocusWithin) {\n props.onFocusWithin(e);\n }\n\n if (props.onFocusWithinChange) {\n props.onFocusWithinChange(true);\n }\n\n state.isFocusWithin = true;\n onSyntheticFocus(e);\n }\n };\n\n return {\n focusWithinProps: {\n onFocus,\n onBlur\n }\n };\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// Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\nimport {HoverEvents} from '@react-types/shared';\nimport {HTMLAttributes, useEffect, useMemo, useRef, useState} from 'react';\n\nexport interface HoverProps extends HoverEvents {\n /** Whether the hover events should be disabled. */\n isDisabled?: boolean\n}\n\ninterface HoverResult {\n /** Props to spread on the target element. */\n hoverProps: HTMLAttributes,\n isHovered: boolean\n}\n\n// iOS fires onPointerEnter twice: once with pointerType=\"touch\" and again with pointerType=\"mouse\".\n// We want to ignore these emulated events so they do not trigger hover behavior.\n// See https://bugs.webkit.org/show_bug.cgi?id=214609.\nlet globalIgnoreEmulatedMouseEvents = false;\nlet hoverCount = 0;\n\nfunction setGlobalIgnoreEmulatedMouseEvents() {\n globalIgnoreEmulatedMouseEvents = true;\n\n // Clear globalIgnoreEmulatedMouseEvents after a short timeout. iOS fires onPointerEnter\n // with pointerType=\"mouse\" immediately after onPointerUp and before onFocus. On other\n // devices that don't have this quirk, we don't want to ignore a mouse hover sometime in\n // the distant future because a user previously touched the element.\n setTimeout(() => {\n globalIgnoreEmulatedMouseEvents = false;\n }, 50);\n}\n\nfunction handleGlobalPointerEvent(e) {\n if (e.pointerType === 'touch') {\n setGlobalIgnoreEmulatedMouseEvents();\n }\n}\n\nfunction setupGlobalTouchEvents() {\n if (typeof document === 'undefined') {\n return;\n }\n\n if (typeof PointerEvent !== 'undefined') {\n document.addEventListener('pointerup', handleGlobalPointerEvent);\n } else {\n document.addEventListener('touchend', setGlobalIgnoreEmulatedMouseEvents);\n }\n\n hoverCount++;\n return () => {\n hoverCount--;\n if (hoverCount > 0) {\n return;\n }\n\n if (typeof PointerEvent !== 'undefined') {\n document.removeEventListener('pointerup', handleGlobalPointerEvent);\n } else {\n document.removeEventListener('touchend', setGlobalIgnoreEmulatedMouseEvents);\n }\n };\n}\n\n/**\n * Handles pointer hover interactions for an element. Normalizes behavior\n * across browsers and platforms, and ignores emulated mouse events on touch devices.\n */\nexport function useHover(props: HoverProps): HoverResult {\n let {\n onHoverStart,\n onHoverChange,\n onHoverEnd,\n isDisabled\n } = props;\n\n let [isHovered, setHovered] = useState(false);\n let state = useRef({\n isHovered: false,\n ignoreEmulatedMouseEvents: false,\n pointerType: '',\n target: null\n }).current;\n\n useEffect(setupGlobalTouchEvents, []);\n\n let {hoverProps, triggerHoverEnd} = useMemo(() => {\n let triggerHoverStart = (event, pointerType) => {\n state.pointerType = pointerType;\n if (isDisabled || pointerType === 'touch' || state.isHovered || !event.currentTarget.contains(event.target)) {\n return;\n }\n\n state.isHovered = true;\n let target = event.currentTarget;\n state.target = target;\n\n if (onHoverStart) {\n onHoverStart({\n type: 'hoverstart',\n target,\n pointerType\n });\n }\n\n if (onHoverChange) {\n onHoverChange(true);\n }\n\n setHovered(true);\n };\n\n let triggerHoverEnd = (event, pointerType) => {\n state.pointerType = '';\n state.target = null;\n\n if (pointerType === 'touch' || !state.isHovered) {\n return;\n }\n\n state.isHovered = false;\n let target = event.currentTarget;\n if (onHoverEnd) {\n onHoverEnd({\n type: 'hoverend',\n target,\n pointerType\n });\n }\n\n if (onHoverChange) {\n onHoverChange(false);\n }\n\n setHovered(false);\n };\n\n let hoverProps: HTMLAttributes = {};\n\n if (typeof PointerEvent !== 'undefined') {\n hoverProps.onPointerEnter = (e) => {\n if (globalIgnoreEmulatedMouseEvents && e.pointerType === 'mouse') {\n return;\n }\n\n triggerHoverStart(e, e.pointerType);\n };\n\n hoverProps.onPointerLeave = (e) => {\n if (!isDisabled && e.currentTarget.contains(e.target as HTMLElement)) {\n triggerHoverEnd(e, e.pointerType);\n }\n };\n } else {\n hoverProps.onTouchStart = () => {\n state.ignoreEmulatedMouseEvents = true;\n };\n\n hoverProps.onMouseEnter = (e) => {\n if (!state.ignoreEmulatedMouseEvents && !globalIgnoreEmulatedMouseEvents) {\n triggerHoverStart(e, 'mouse');\n }\n\n state.ignoreEmulatedMouseEvents = false;\n };\n\n hoverProps.onMouseLeave = (e) => {\n if (!isDisabled && e.currentTarget.contains(e.target as HTMLElement)) {\n triggerHoverEnd(e, 'mouse');\n }\n };\n }\n return {hoverProps, triggerHoverEnd};\n }, [onHoverStart, onHoverChange, onHoverEnd, isDisabled, state]);\n\n useEffect(() => {\n // Call the triggerHoverEnd as soon as isDisabled changes to true\n // Safe to call triggerHoverEnd, it will early return if we aren't currently hovering\n if (isDisabled) {\n triggerHoverEnd({currentTarget: state.target}, state.pointerType);\n }\n }, [isDisabled]);\n\n return {\n hoverProps,\n isHovered\n };\n}\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// Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\nimport {RefObject, SyntheticEvent, useEffect, useRef} from 'react';\n\ninterface InteractOutsideProps {\n ref: RefObject,\n onInteractOutside?: (e: SyntheticEvent) => void,\n onInteractOutsideStart?: (e: SyntheticEvent) => void,\n /** Whether the interact outside events should be disabled. */\n isDisabled?: boolean\n}\n\n/**\n * Example, used in components like Dialogs and Popovers so they can close\n * when a user clicks outside them.\n */\nexport function useInteractOutside(props: InteractOutsideProps) {\n let {ref, onInteractOutside, isDisabled, onInteractOutsideStart} = props;\n let stateRef = useRef({\n isPointerDown: false,\n ignoreEmulatedMouseEvents: false,\n onInteractOutside,\n onInteractOutsideStart\n });\n let state = stateRef.current;\n state.onInteractOutside = onInteractOutside;\n state.onInteractOutsideStart = onInteractOutsideStart;\n\n useEffect(() => {\n if (isDisabled) {\n return;\n }\n\n let onPointerDown = (e) => {\n if (isValidEvent(e, ref) && state.onInteractOutside) {\n if (state.onInteractOutsideStart) {\n state.onInteractOutsideStart(e);\n }\n state.isPointerDown = true;\n }\n };\n\n // Use pointer events if available. Otherwise, fall back to mouse and touch events.\n if (typeof PointerEvent !== 'undefined') {\n let onPointerUp = (e) => {\n if (state.isPointerDown && state.onInteractOutside && isValidEvent(e, ref)) {\n state.isPointerDown = false;\n state.onInteractOutside(e);\n }\n };\n\n // changing these to capture phase fixed combobox\n document.addEventListener('pointerdown', onPointerDown, true);\n document.addEventListener('pointerup', onPointerUp, true);\n\n return () => {\n document.removeEventListener('pointerdown', onPointerDown, true);\n document.removeEventListener('pointerup', onPointerUp, true);\n };\n } else {\n let onMouseUp = (e) => {\n if (state.ignoreEmulatedMouseEvents) {\n state.ignoreEmulatedMouseEvents = false;\n } else if (state.isPointerDown && state.onInteractOutside && isValidEvent(e, ref)) {\n state.isPointerDown = false;\n state.onInteractOutside(e);\n }\n };\n\n let onTouchEnd = (e) => {\n state.ignoreEmulatedMouseEvents = true;\n if (state.onInteractOutside && state.isPointerDown && isValidEvent(e, ref)) {\n state.isPointerDown = false;\n state.onInteractOutside(e);\n }\n };\n\n document.addEventListener('mousedown', onPointerDown, true);\n document.addEventListener('mouseup', onMouseUp, true);\n document.addEventListener('touchstart', onPointerDown, true);\n document.addEventListener('touchend', onTouchEnd, true);\n\n return () => {\n document.removeEventListener('mousedown', onPointerDown, true);\n document.removeEventListener('mouseup', onMouseUp, true);\n document.removeEventListener('touchstart', onPointerDown, true);\n document.removeEventListener('touchend', onTouchEnd, true);\n };\n }\n }, [ref, state, isDisabled]);\n}\n\nfunction isValidEvent(event, ref) {\n if (event.button > 0) {\n return false;\n }\n\n // if the event target is no longer in the document\n if (event.target) {\n const ownerDocument = event.target.ownerDocument;\n if (!ownerDocument || !ownerDocument.documentElement.contains(event.target)) {\n return false;\n }\n }\n\n return ref.current && !ref.current.contains(event.target);\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\nimport {BaseEvent} from '@react-types/shared';\nimport {SyntheticEvent} from 'react';\n\n/**\n * This function wraps a React event handler to make stopPropagation the default, and support continuePropagation instead.\n */\nexport function createEventHandler(handler: (e: BaseEvent) => void): (e: T) => void {\n if (!handler) {\n return;\n }\n\n let shouldStopPropagation = true;\n return (e: T) => {\n let event: BaseEvent = {\n ...e,\n preventDefault() {\n e.preventDefault();\n },\n isDefaultPrevented() {\n return e.isDefaultPrevented();\n },\n stopPropagation() {\n console.error('stopPropagation is now the default behavior for events in React Spectrum. You can use continuePropagation() to revert this behavior.');\n },\n continuePropagation() {\n shouldStopPropagation = false;\n }\n };\n\n handler(event);\n\n if (shouldStopPropagation) {\n e.stopPropagation();\n }\n };\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\nimport {createEventHandler} from './createEventHandler';\nimport {HTMLAttributes} from 'react';\nimport {KeyboardEvents} from '@react-types/shared';\n\nexport interface KeyboardProps extends KeyboardEvents {\n /** Whether the keyboard events should be disabled. */\n isDisabled?: boolean\n}\n\ninterface KeyboardResult {\n /** Props to spread onto the target element. */\n keyboardProps: HTMLAttributes\n}\n\n/**\n * Handles keyboard interactions for a focusable element.\n */\nexport function useKeyboard(props: KeyboardProps): KeyboardResult {\n return {\n keyboardProps: props.isDisabled ? {} : {\n onKeyDown: createEventHandler(props.onKeyDown),\n onKeyUp: createEventHandler(props.onKeyUp)\n }\n };\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\nimport {disableTextSelection, restoreTextSelection} from './textSelection';\nimport {MoveEvents, PointerType} from '@react-types/shared';\nimport React, {HTMLAttributes, useMemo, useRef} from 'react';\nimport {useGlobalListeners} from '@react-aria/utils';\n\ninterface MoveResult {\n /** Props to spread on the target element. */\n moveProps: HTMLAttributes\n}\n\ninterface EventBase {\n shiftKey: boolean,\n ctrlKey: boolean,\n metaKey: boolean,\n altKey: boolean\n}\n\n/**\n * Handles move interactions across mouse, touch, and keyboard, including dragging with\n * the mouse or touch, and using the arrow keys. Normalizes behavior across browsers and\n * platforms, and ignores emulated mouse events on touch devices.\n */\nexport function useMove(props: MoveEvents): MoveResult {\n let {onMoveStart, onMove, onMoveEnd} = props;\n\n let state = useRef<{\n didMove: boolean,\n lastPosition: {pageX: number, pageY: number} | null,\n id: number | null\n }>({didMove: false, lastPosition: null, id: null});\n\n let {addGlobalListener, removeGlobalListener} = useGlobalListeners();\n\n let moveProps = useMemo(() => {\n let moveProps: HTMLAttributes = {};\n\n let start = () => {\n disableTextSelection();\n state.current.didMove = false;\n };\n let move = (originalEvent: EventBase, pointerType: PointerType, deltaX: number, deltaY: number) => {\n if (deltaX === 0 && deltaY === 0) {\n return;\n }\n\n if (!state.current.didMove) {\n state.current.didMove = true;\n onMoveStart?.({\n type: 'movestart',\n pointerType,\n shiftKey: originalEvent.shiftKey,\n metaKey: originalEvent.metaKey,\n ctrlKey: originalEvent.ctrlKey,\n altKey: originalEvent.altKey\n });\n }\n onMove({\n type: 'move',\n pointerType,\n deltaX: deltaX,\n deltaY: deltaY,\n shiftKey: originalEvent.shiftKey,\n metaKey: originalEvent.metaKey,\n ctrlKey: originalEvent.ctrlKey,\n altKey: originalEvent.altKey\n });\n };\n let end = (originalEvent: EventBase, pointerType: PointerType) => {\n restoreTextSelection();\n if (state.current.didMove) {\n onMoveEnd?.({\n type: 'moveend',\n pointerType,\n shiftKey: originalEvent.shiftKey,\n metaKey: originalEvent.metaKey,\n ctrlKey: originalEvent.ctrlKey,\n altKey: originalEvent.altKey\n });\n }\n };\n\n if (typeof PointerEvent === 'undefined') {\n let onMouseMove = (e: MouseEvent) => {\n if (e.button === 0) {\n move(e, 'mouse', e.pageX - state.current.lastPosition.pageX, e.pageY - state.current.lastPosition.pageY);\n state.current.lastPosition = {pageX: e.pageX, pageY: e.pageY};\n }\n };\n let onMouseUp = (e: MouseEvent) => {\n if (e.button === 0) {\n end(e, 'mouse');\n removeGlobalListener(window, 'mousemove', onMouseMove, false);\n removeGlobalListener(window, 'mouseup', onMouseUp, false);\n }\n };\n moveProps.onMouseDown = (e: React.MouseEvent) => {\n if (e.button === 0) {\n start();\n e.stopPropagation();\n e.preventDefault();\n state.current.lastPosition = {pageX: e.pageX, pageY: e.pageY};\n addGlobalListener(window, 'mousemove', onMouseMove, false);\n addGlobalListener(window, 'mouseup', onMouseUp, false);\n }\n };\n\n let onTouchMove = (e: TouchEvent) => {\n let touch = [...e.changedTouches].findIndex(({identifier}) => identifier === state.current.id);\n if (touch >= 0) {\n let {pageX, pageY} = e.changedTouches[touch];\n move(e, 'touch', pageX - state.current.lastPosition.pageX, pageY - state.current.lastPosition.pageY);\n state.current.lastPosition = {pageX, pageY};\n }\n };\n let onTouchEnd = (e: TouchEvent) => {\n let touch = [...e.changedTouches].findIndex(({identifier}) => identifier === state.current.id);\n if (touch >= 0) {\n end(e, 'touch');\n state.current.id = null;\n removeGlobalListener(window, 'touchmove', onTouchMove);\n removeGlobalListener(window, 'touchend', onTouchEnd);\n removeGlobalListener(window, 'touchcancel', onTouchEnd);\n }\n };\n moveProps.onTouchStart = (e: React.TouchEvent) => {\n if (e.changedTouches.length === 0 || state.current.id != null) {\n return;\n }\n\n let {pageX, pageY, identifier} = e.changedTouches[0];\n start();\n e.stopPropagation();\n e.preventDefault();\n state.current.lastPosition = {pageX, pageY};\n state.current.id = identifier;\n addGlobalListener(window, 'touchmove', onTouchMove, false);\n addGlobalListener(window, 'touchend', onTouchEnd, false);\n addGlobalListener(window, 'touchcancel', onTouchEnd, false);\n };\n } else {\n let onPointerMove = (e: PointerEvent) => {\n if (e.pointerId === state.current.id) {\n let pointerType = (e.pointerType || 'mouse') as PointerType;\n\n // Problems with PointerEvent#movementX/movementY:\n // 1. it is always 0 on macOS Safari.\n // 2. On Chrome Android, it's scaled by devicePixelRatio, but not on Chrome macOS\n move(e, pointerType, e.pageX - state.current.lastPosition.pageX, e.pageY - state.current.lastPosition.pageY);\n state.current.lastPosition = {pageX: e.pageX, pageY: e.pageY};\n }\n };\n\n let onPointerUp = (e: PointerEvent) => {\n if (e.pointerId === state.current.id) {\n let pointerType = (e.pointerType || 'mouse') as PointerType;\n end(e, pointerType);\n state.current.id = null;\n removeGlobalListener(window, 'pointermove', onPointerMove, false);\n removeGlobalListener(window, 'pointerup', onPointerUp, false);\n removeGlobalListener(window, 'pointercancel', onPointerUp, false);\n }\n };\n\n moveProps.onPointerDown = (e: React.PointerEvent) => {\n if (e.button === 0 && state.current.id == null) {\n start();\n e.stopPropagation();\n e.preventDefault();\n state.current.lastPosition = {pageX: e.pageX, pageY: e.pageY};\n state.current.id = e.pointerId;\n addGlobalListener(window, 'pointermove', onPointerMove, false);\n addGlobalListener(window, 'pointerup', onPointerUp, false);\n addGlobalListener(window, 'pointercancel', onPointerUp, false);\n }\n };\n }\n\n let triggerKeyboardMove = (e: EventBase, deltaX: number, deltaY: number) => {\n start();\n move(e, 'keyboard', deltaX, deltaY);\n end(e, 'keyboard');\n };\n\n moveProps.onKeyDown = (e) => {\n switch (e.key) {\n case 'Left':\n case 'ArrowLeft':\n e.preventDefault();\n e.stopPropagation();\n triggerKeyboardMove(e, -1, 0);\n break;\n case 'Right':\n case 'ArrowRight':\n e.preventDefault();\n e.stopPropagation();\n triggerKeyboardMove(e, 1, 0);\n break;\n case 'Up':\n case 'ArrowUp':\n e.preventDefault();\n e.stopPropagation();\n triggerKeyboardMove(e, 0, -1);\n break;\n case 'Down':\n case 'ArrowDown':\n e.preventDefault();\n e.stopPropagation();\n triggerKeyboardMove(e, 0, 1);\n break;\n }\n };\n\n return moveProps;\n }, [state, onMoveStart, onMove, onMoveEnd, addGlobalListener, removeGlobalListener]);\n\n return {moveProps};\n}\n","/*\n * Copyright 2021 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\nimport {RefObject, useCallback} from 'react';\nimport {ScrollEvents} from '@react-types/shared';\nimport {useEvent} from '@react-aria/utils';\n\nexport interface ScrollWheelProps extends ScrollEvents {\n /** Whether the scroll listener should be disabled. */\n isDisabled?: boolean\n}\n\n// scroll wheel needs to be added not passively so it's cancelable, small helper hook to remember that\nexport function useScrollWheel(props: ScrollWheelProps, ref: RefObject): void {\n let {onScroll, isDisabled} = props;\n let onScrollHandler = useCallback((e) => {\n // If the ctrlKey is pressed, this is a zoom event, do nothing.\n if (e.ctrlKey) {\n return;\n }\n\n // stop scrolling the page\n e.preventDefault();\n e.stopPropagation();\n\n if (onScroll) {\n onScroll({deltaX: e.deltaX, deltaY: e.deltaY});\n }\n }, [onScroll]);\n\n useEvent(ref, 'wheel', isDisabled ? null : onScrollHandler);\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\nimport {HTMLAttributes, useRef} from 'react';\nimport {LongPressEvent} from '@react-types/shared';\nimport {mergeProps, useDescription, useGlobalListeners} from '@react-aria/utils';\nimport {usePress} from './usePress';\n\ninterface LongPressProps {\n /** Whether long press events should be disabled. */\n isDisabled?: boolean,\n /** Handler that is called when a long press interaction starts. */\n onLongPressStart?: (e: LongPressEvent) => void,\n /**\n * Handler that is called when a long press interaction ends, either\n * over the target or when the pointer leaves the target.\n */\n onLongPressEnd?: (e: LongPressEvent) => void,\n /**\n * Handler that is called when the threshold time is met while\n * the press is over the target.\n */\n onLongPress?: (e: LongPressEvent) => void,\n /**\n * The amount of time in milliseconds to wait before triggering a long press.\n * @default 500ms\n */\n threshold?: number,\n /**\n * A description for assistive techology users indicating that a long press\n * action is available, e.g. \"Long press to open menu\".\n */\n accessibilityDescription?: string\n}\n\ninterface LongPressResult {\n /** Props to spread on the target element. */\n longPressProps: HTMLAttributes\n}\n\nconst DEFAULT_THRESHOLD = 500;\n\n/**\n * Handles long press interactions across mouse and touch devices. Supports a customizable time threshold,\n * accessibility description, and normalizes behavior across browsers and devices.\n */\nexport function useLongPress(props: LongPressProps): LongPressResult {\n let {\n isDisabled,\n onLongPressStart,\n onLongPressEnd,\n onLongPress,\n threshold = DEFAULT_THRESHOLD,\n accessibilityDescription\n } = props;\n\n const timeRef = useRef(null);\n let {addGlobalListener, removeGlobalListener} = useGlobalListeners();\n\n let {pressProps} = usePress({\n isDisabled,\n onPressStart(e) {\n if (e.pointerType === 'mouse' || e.pointerType === 'touch') {\n if (onLongPressStart) {\n onLongPressStart({\n ...e,\n type: 'longpressstart'\n });\n }\n\n timeRef.current = setTimeout(() => {\n // Prevent other usePress handlers from also handling this event.\n e.target.dispatchEvent(new PointerEvent('pointercancel', {bubbles: true}));\n if (onLongPress) {\n onLongPress({\n ...e,\n type: 'longpress'\n });\n }\n timeRef.current = null;\n }, threshold);\n\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\n addGlobalListener(e.target, 'contextmenu', onContextMenu, {once: true});\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 }, {once: true});\n }\n }\n },\n onPressEnd(e) {\n if (timeRef.current) {\n clearTimeout(timeRef.current);\n }\n\n if (onLongPressEnd && (e.pointerType === 'mouse' || e.pointerType === 'touch')) {\n onLongPressEnd({\n ...e,\n type: 'longpressend'\n });\n }\n }\n });\n\n let descriptionProps = useDescription(onLongPress && !isDisabled ? accessibilityDescription : null);\n\n return {\n longPressProps: mergeProps(pressProps, descriptionProps)\n };\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\nimport {focusWithoutScrolling, runAfterTransition} from '@react-aria/utils';\nimport {getInteractionModality} from '@react-aria/interactions';\n\n/**\n * A utility function that focuses an element while avoiding undesired side effects such\n * as page scrolling and screen reader issues with CSS transitions.\n */\nexport function focusSafely(element: HTMLElement) {\n // If the user is interacting with a virtual cursor, e.g. screen reader, then\n // wait until after any animated transitions that are currently occurring on\n // the page before shifting focus. This avoids issues with VoiceOver on iOS\n // causing the page to scroll when moving focus if the element is transitioning\n // from off the screen.\n if (getInteractionModality() === 'virtual') {\n let lastFocusedElement = document.activeElement;\n runAfterTransition(() => {\n // If focus did not move and the element is still in the document, focus it.\n if (document.activeElement === lastFocusedElement && document.contains(element)) {\n focusWithoutScrolling(element);\n }\n });\n } else {\n focusWithoutScrolling(element);\n }\n}\n","/*\n * Copyright 2021 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 isStyleVisible(element: Element) {\n if (!(element instanceof HTMLElement) && !(element instanceof SVGElement)) {\n return false;\n }\n\n let {display, visibility} = element.style;\n\n let isVisible = (\n display !== 'none' &&\n visibility !== 'hidden' &&\n visibility !== 'collapse'\n );\n\n if (isVisible) {\n const {getComputedStyle} = element.ownerDocument.defaultView;\n let {display: computedDisplay, visibility: computedVisibility} = getComputedStyle(element);\n\n isVisible = (\n computedDisplay !== 'none' &&\n computedVisibility !== 'hidden' &&\n computedVisibility !== 'collapse'\n );\n }\n\n return isVisible;\n}\n\nfunction isAttributeVisible(element: Element, childElement?: Element) {\n return (\n !element.hasAttribute('hidden') &&\n (element.nodeName === 'DETAILS' &&\n childElement &&\n childElement.nodeName !== 'SUMMARY'\n ? element.hasAttribute('open')\n : true)\n );\n}\n\n/**\n * Adapted from https://github.com/testing-library/jest-dom and \n * https://github.com/vuejs/vue-test-utils-next/.\n * Licensed under the MIT License.\n * @param element - Element to evaluate for display or visibility.\n */ \nexport function isElementVisible(element: Element, childElement?: Element) {\n return (\n element.nodeName !== '#comment' &&\n isStyleVisible(element) &&\n isAttributeVisible(element, childElement) &&\n (!element.parentElement || isElementVisible(element.parentElement, element))\n );\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\nimport {focusSafely} from './focusSafely';\nimport {isElementVisible} from './isElementVisible';\nimport React, {ReactNode, RefObject, useContext, useEffect, useRef} from 'react';\nimport {useLayoutEffect} from '@react-aria/utils';\n\n// import {FocusScope, useFocusScope} from 'react-events/focus-scope';\n// export {FocusScope};\n\ninterface FocusScopeProps {\n /** The contents of the focus scope. */\n children: ReactNode,\n\n /**\n * Whether to contain focus inside the scope, so users cannot\n * move focus outside, for example in a modal dialog.\n */\n contain?: boolean,\n\n /**\n * Whether to restore focus back to the element that was focused\n * when the focus scope mounted, after the focus scope unmounts.\n */\n restoreFocus?: boolean,\n\n /** Whether to auto focus the first focusable element in the focus scope on mount. */\n autoFocus?: boolean\n}\n\ninterface FocusManagerOptions {\n /** The element to start searching from. The currently focused element by default. */\n from?: HTMLElement,\n /** Whether to only include tabbable elements, or all focusable elements. */\n tabbable?: boolean,\n /** Whether focus should wrap around when it reaches the end of the scope. */\n wrap?: boolean\n}\n\nexport interface FocusManager {\n /** Moves focus to the next focusable or tabbable element in the focus scope. */\n focusNext(opts?: FocusManagerOptions): HTMLElement,\n /** Moves focus to the previous focusable or tabbable element in the focus scope. */\n focusPrevious(opts?: FocusManagerOptions): HTMLElement,\n /** Moves focus to the first focusable or tabbable element in the focus scope. */\n focusFirst(opts?: FocusManagerOptions): HTMLElement,\n /** Moves focus to the last focusable or tabbable element in the focus scope. */\n focusLast(opts?: FocusManagerOptions): HTMLElement\n}\n\ntype ScopeRef = RefObject;\ninterface IFocusContext {\n scopeRef: ScopeRef,\n focusManager: FocusManager\n}\n\nconst FocusContext = React.createContext(null);\n\nlet activeScope: ScopeRef = null;\nlet scopes: Map = new Map();\n\n// This is a hacky DOM-based implementation of a FocusScope until this RFC lands in React:\n// https://github.com/reactjs/rfcs/pull/109\n// For now, it relies on the DOM tree order rather than the React tree order, and is probably\n// less optimized for performance.\n\n/**\n * A FocusScope manages focus for its descendants. It supports containing focus inside\n * the scope, restoring focus to the previously focused element on unmount, and auto\n * focusing children on mount. It also acts as a container for a programmatic focus\n * management interface that can be used to move focus forward and back in response\n * to user events.\n */\nexport function FocusScope(props: FocusScopeProps) {\n let {children, contain, restoreFocus, autoFocus} = props;\n let startRef = useRef();\n let endRef = useRef();\n let scopeRef = useRef([]);\n let ctx = useContext(FocusContext);\n let parentScope = ctx?.scopeRef;\n\n useLayoutEffect(() => {\n // Find all rendered nodes between the sentinels and add them to the scope.\n let node = startRef.current.nextSibling;\n let nodes = [];\n while (node && node !== endRef.current) {\n nodes.push(node);\n node = node.nextSibling;\n }\n\n scopeRef.current = nodes;\n }, [children, parentScope]);\n\n useLayoutEffect(() => {\n scopes.set(scopeRef, parentScope);\n return () => {\n // Restore the active scope on unmount if this scope or a descendant scope is active.\n // Parent effect cleanups run before children, so we need to check if the\n // parent scope actually still exists before restoring the active scope to it.\n if (\n (scopeRef === activeScope || isAncestorScope(scopeRef, activeScope)) &&\n (!parentScope || scopes.has(parentScope))\n ) {\n activeScope = parentScope;\n }\n scopes.delete(scopeRef);\n };\n }, [scopeRef, parentScope]);\n\n useFocusContainment(scopeRef, contain);\n useRestoreFocus(scopeRef, restoreFocus, contain);\n useAutoFocus(scopeRef, autoFocus);\n\n let focusManager = createFocusManagerForScope(scopeRef);\n\n return (\n \n \n );\n}\n\n/**\n * Returns a FocusManager interface for the parent FocusScope.\n * A FocusManager can be used to programmatically move focus within\n * a FocusScope, e.g. in response to user events like keyboard navigation.\n */\nexport function useFocusManager(): FocusManager {\n return useContext(FocusContext)?.focusManager;\n}\n\nfunction createFocusManagerForScope(scopeRef: React.RefObject): FocusManager {\n return {\n focusNext(opts: FocusManagerOptions = {}) {\n let scope = scopeRef.current;\n let {from, tabbable, wrap} = opts;\n let node = from || document.activeElement;\n let sentinel = scope[0].previousElementSibling;\n let walker = getFocusableTreeWalker(getScopeRoot(scope), {tabbable}, scope);\n walker.currentNode = isElementInScope(node, scope) ? node : sentinel;\n let nextNode = walker.nextNode() as HTMLElement;\n if (!nextNode && wrap) {\n walker.currentNode = sentinel;\n nextNode = walker.nextNode() as HTMLElement;\n }\n if (nextNode) {\n focusElement(nextNode, true);\n }\n return nextNode;\n },\n focusPrevious(opts: FocusManagerOptions = {}) {\n let scope = scopeRef.current;\n let {from, tabbable, wrap} = opts;\n let node = from || document.activeElement;\n let sentinel = scope[scope.length - 1].nextElementSibling;\n let walker = getFocusableTreeWalker(getScopeRoot(scope), {tabbable}, scope);\n walker.currentNode = isElementInScope(node, scope) ? node : sentinel;\n let previousNode = walker.previousNode() as HTMLElement;\n if (!previousNode && wrap) {\n walker.currentNode = sentinel;\n previousNode = walker.previousNode() as HTMLElement;\n }\n if (previousNode) {\n focusElement(previousNode, true);\n }\n return previousNode;\n },\n focusFirst(opts = {}) {\n let scope = scopeRef.current;\n let {tabbable} = opts;\n let walker = getFocusableTreeWalker(getScopeRoot(scope), {tabbable}, scope);\n walker.currentNode = scope[0].previousElementSibling;\n let nextNode = walker.nextNode() as HTMLElement;\n if (nextNode) {\n focusElement(nextNode, true);\n }\n return nextNode;\n },\n focusLast(opts = {}) {\n let scope = scopeRef.current;\n let {tabbable} = opts;\n let walker = getFocusableTreeWalker(getScopeRoot(scope), {tabbable}, scope);\n walker.currentNode = scope[scope.length - 1].nextElementSibling;\n let previousNode = walker.previousNode() as HTMLElement;\n if (previousNode) {\n focusElement(previousNode, true);\n }\n return previousNode;\n }\n };\n}\n\nconst focusableElements = [\n 'input:not([disabled]):not([type=hidden])',\n 'select:not([disabled])',\n 'textarea:not([disabled])',\n 'button:not([disabled])',\n 'a[href]',\n 'area[href]',\n 'summary',\n 'iframe',\n 'object',\n 'embed',\n 'audio[controls]',\n 'video[controls]',\n '[contenteditable]'\n];\n\nconst FOCUSABLE_ELEMENT_SELECTOR = focusableElements.join(':not([hidden]),') + ',[tabindex]:not([disabled]):not([hidden])';\n\nfocusableElements.push('[tabindex]:not([tabindex=\"-1\"]):not([disabled])');\nconst TABBABLE_ELEMENT_SELECTOR = focusableElements.join(':not([hidden]):not([tabindex=\"-1\"]),');\n\nfunction getScopeRoot(scope: HTMLElement[]) {\n return scope[0].parentElement;\n}\n\nfunction useFocusContainment(scopeRef: RefObject, contain: boolean) {\n let focusedNode = useRef();\n\n let raf = useRef(null);\n useLayoutEffect(() => {\n let scope = scopeRef.current;\n if (!contain) {\n return;\n }\n\n // Handle the Tab key to contain focus within the scope\n let onKeyDown = (e) => {\n if (e.key !== 'Tab' || e.altKey || e.ctrlKey || e.metaKey || scopeRef !== activeScope) {\n return;\n }\n\n let focusedElement = document.activeElement as HTMLElement;\n let scope = scopeRef.current;\n if (!isElementInScope(focusedElement, scope)) {\n return;\n }\n\n let walker = getFocusableTreeWalker(getScopeRoot(scope), {tabbable: true}, scope);\n walker.currentNode = focusedElement;\n let nextElement = (e.shiftKey ? walker.previousNode() : walker.nextNode()) as HTMLElement;\n if (!nextElement) {\n walker.currentNode = e.shiftKey ? scope[scope.length - 1].nextElementSibling : scope[0].previousElementSibling;\n nextElement = (e.shiftKey ? walker.previousNode() : walker.nextNode()) as HTMLElement;\n }\n\n e.preventDefault();\n if (nextElement) {\n focusElement(nextElement, true);\n }\n };\n\n let onFocus = (e) => {\n // If focusing an element in a child scope of the currently active scope, the child becomes active.\n // Moving out of the active scope to an ancestor is not allowed.\n if (!activeScope || isAncestorScope(activeScope, scopeRef)) {\n activeScope = scopeRef;\n focusedNode.current = e.target;\n } else if (scopeRef === activeScope && !isElementInChildScope(e.target, scopeRef)) {\n // If a focus event occurs outside the active scope (e.g. user tabs from browser location bar),\n // restore focus to the previously focused node or the first tabbable element in the active scope.\n if (focusedNode.current) {\n focusedNode.current.focus();\n } else if (activeScope) {\n focusFirstInScope(activeScope.current);\n }\n } else if (scopeRef === activeScope) {\n focusedNode.current = e.target;\n }\n };\n\n let onBlur = (e) => {\n // Firefox doesn't shift focus back to the Dialog properly without this\n raf.current = requestAnimationFrame(() => {\n // Use document.activeElement instead of e.relatedTarget so we can tell if user clicked into iframe\n if (scopeRef === activeScope && !isElementInChildScope(document.activeElement, scopeRef)) {\n activeScope = scopeRef;\n focusedNode.current = e.target;\n focusedNode.current.focus();\n }\n });\n };\n\n document.addEventListener('keydown', onKeyDown, false);\n document.addEventListener('focusin', onFocus, false);\n scope.forEach(element => element.addEventListener('focusin', onFocus, false));\n scope.forEach(element => element.addEventListener('focusout', onBlur, false));\n return () => {\n document.removeEventListener('keydown', onKeyDown, false);\n document.removeEventListener('focusin', onFocus, false);\n scope.forEach(element => element.removeEventListener('focusin', onFocus, false));\n scope.forEach(element => element.removeEventListener('focusout', onBlur, false));\n };\n }, [scopeRef, contain]);\n\n // eslint-disable-next-line arrow-body-style\n useEffect(() => {\n return () => cancelAnimationFrame(raf.current);\n }, [raf]);\n}\n\nfunction isElementInAnyScope(element: Element) {\n for (let scope of scopes.keys()) {\n if (isElementInScope(element, scope.current)) {\n return true;\n }\n }\n return false;\n}\n\nfunction isElementInScope(element: Element, scope: HTMLElement[]) {\n return scope.some(node => node.contains(element));\n}\n\nfunction isElementInChildScope(element: Element, scope: ScopeRef) {\n // node.contains in isElementInScope covers child scopes that are also DOM children,\n // but does not cover child scopes in portals.\n for (let s of scopes.keys()) {\n if ((s === scope || isAncestorScope(scope, s)) && isElementInScope(element, s.current)) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction isAncestorScope(ancestor: ScopeRef, scope: ScopeRef) {\n let parent = scopes.get(scope);\n if (!parent) {\n return false;\n }\n\n if (parent === ancestor) {\n return true;\n }\n\n return isAncestorScope(ancestor, parent);\n}\n\nfunction focusElement(element: HTMLElement | null, scroll = false) {\n if (element != null && !scroll) {\n try {\n focusSafely(element);\n } catch (err) {\n // ignore\n }\n } else if (element != null) {\n try {\n element.focus();\n } catch (err) {\n // ignore\n }\n }\n}\n\nfunction focusFirstInScope(scope: HTMLElement[]) {\n let sentinel = scope[0].previousElementSibling;\n let walker = getFocusableTreeWalker(getScopeRoot(scope), {tabbable: true}, scope);\n walker.currentNode = sentinel;\n focusElement(walker.nextNode() as HTMLElement);\n}\n\nfunction useAutoFocus(scopeRef: RefObject, autoFocus: boolean) {\n const autoFocusRef = React.useRef(autoFocus);\n useEffect(() => {\n if (autoFocusRef.current) {\n activeScope = scopeRef;\n if (!isElementInScope(document.activeElement, activeScope.current)) {\n focusFirstInScope(scopeRef.current);\n }\n }\n autoFocusRef.current = false;\n }, []);\n}\n\nfunction useRestoreFocus(scopeRef: RefObject, restoreFocus: boolean, contain: boolean) {\n // create a ref during render instead of useLayoutEffect so the active element is saved before a child with autoFocus=true mounts.\n const nodeToRestoreRef = useRef(typeof document !== 'undefined' ? document.activeElement as HTMLElement : null);\n\n // useLayoutEffect instead of useEffect so the active element is saved synchronously instead of asynchronously.\n useLayoutEffect(() => {\n let nodeToRestore = nodeToRestoreRef.current;\n if (!restoreFocus) {\n return;\n }\n\n // Handle the Tab key so that tabbing out of the scope goes to the next element\n // after the node that had focus when the scope mounted. This is important when\n // using portals for overlays, so that focus goes to the expected element when\n // tabbing out of the overlay.\n let onKeyDown = (e: KeyboardEvent) => {\n if (e.key !== 'Tab' || e.altKey || e.ctrlKey || e.metaKey) {\n return;\n }\n\n let focusedElement = document.activeElement as HTMLElement;\n if (!isElementInScope(focusedElement, scopeRef.current)) {\n return;\n }\n\n // Create a DOM tree walker that matches all tabbable elements\n let walker = getFocusableTreeWalker(document.body, {tabbable: true});\n\n // Find the next tabbable element after the currently focused element\n walker.currentNode = focusedElement;\n let nextElement = (e.shiftKey ? walker.previousNode() : walker.nextNode()) as HTMLElement;\n\n if (!document.body.contains(nodeToRestore) || nodeToRestore === document.body) {\n nodeToRestore = null;\n }\n\n // If there is no next element, or it is outside the current scope, move focus to the\n // next element after the node to restore to instead.\n if ((!nextElement || !isElementInScope(nextElement, scopeRef.current)) && nodeToRestore) {\n walker.currentNode = nodeToRestore;\n\n // Skip over elements within the scope, in case the scope immediately follows the node to restore.\n do {\n nextElement = (e.shiftKey ? walker.previousNode() : walker.nextNode()) as HTMLElement;\n } while (isElementInScope(nextElement, scopeRef.current));\n\n e.preventDefault();\n e.stopPropagation();\n if (nextElement) {\n focusElement(nextElement, true);\n } else {\n // If there is no next element and the nodeToRestore isn't within a FocusScope (i.e. we are leaving the top level focus scope)\n // then move focus to the body.\n // Otherwise restore focus to the nodeToRestore (e.g menu within a popover -> tabbing to close the menu should move focus to menu trigger)\n if (!isElementInAnyScope(nodeToRestore)) {\n focusedElement.blur();\n } else {\n focusElement(nodeToRestore, true);\n }\n }\n }\n };\n\n if (!contain) {\n document.addEventListener('keydown', onKeyDown, true);\n }\n\n return () => {\n if (!contain) {\n document.removeEventListener('keydown', onKeyDown, true);\n }\n\n if (restoreFocus && nodeToRestore && isElementInScope(document.activeElement, scopeRef.current)) {\n requestAnimationFrame(() => {\n if (document.body.contains(nodeToRestore)) {\n focusElement(nodeToRestore);\n }\n });\n }\n };\n }, [scopeRef, restoreFocus, contain]);\n}\n\n/**\n * Create a [TreeWalker]{@link https://developer.mozilla.org/en-US/docs/Web/API/TreeWalker}\n * that matches all focusable/tabbable elements.\n */\nexport function getFocusableTreeWalker(root: HTMLElement, opts?: FocusManagerOptions, scope?: HTMLElement[]) {\n let selector = opts?.tabbable ? TABBABLE_ELEMENT_SELECTOR : FOCUSABLE_ELEMENT_SELECTOR;\n let walker = document.createTreeWalker(\n root,\n NodeFilter.SHOW_ELEMENT,\n {\n acceptNode(node) {\n // Skip nodes inside the starting node.\n if (opts?.from?.contains(node)) {\n return NodeFilter.FILTER_REJECT;\n }\n\n if ((node as HTMLElement).matches(selector)\n && isElementVisible(node as HTMLElement)\n && (!scope || isElementInScope(node as HTMLElement, scope))) {\n return NodeFilter.FILTER_ACCEPT;\n }\n\n return NodeFilter.FILTER_SKIP;\n }\n }\n );\n\n if (opts?.from) {\n walker.currentNode = opts.from;\n }\n\n return walker;\n}\n\n/**\n * Creates a FocusManager object that can be used to move focus within an element.\n */\nexport function createFocusManager(ref: RefObject): FocusManager {\n return {\n focusNext(opts: FocusManagerOptions = {}) {\n let root = ref.current;\n let {from, tabbable, wrap} = opts;\n let node = from || document.activeElement;\n let walker = getFocusableTreeWalker(root, {tabbable});\n if (root.contains(node)) {\n walker.currentNode = node;\n }\n let nextNode = walker.nextNode() as HTMLElement;\n if (!nextNode && wrap) {\n walker.currentNode = root;\n nextNode = walker.nextNode() as HTMLElement;\n }\n if (nextNode) {\n focusElement(nextNode, true);\n }\n return nextNode;\n },\n focusPrevious(opts: FocusManagerOptions = {}) {\n let root = ref.current;\n let {from, tabbable, wrap} = opts;\n let node = from || document.activeElement;\n let walker = getFocusableTreeWalker(root, {tabbable});\n if (root.contains(node)) {\n walker.currentNode = node;\n } else {\n let next = last(walker);\n if (next) {\n focusElement(next, true);\n }\n return next;\n }\n let previousNode = walker.previousNode() as HTMLElement;\n if (!previousNode && wrap) {\n walker.currentNode = root;\n previousNode = last(walker);\n }\n if (previousNode) {\n focusElement(previousNode, true);\n }\n return previousNode;\n },\n focusFirst(opts = {}) {\n let root = ref.current;\n let {tabbable} = opts;\n let walker = getFocusableTreeWalker(root, {tabbable});\n let nextNode = walker.nextNode() as HTMLElement;\n if (nextNode) {\n focusElement(nextNode, true);\n }\n return nextNode;\n },\n focusLast(opts = {}) {\n let root = ref.current;\n let {tabbable} = opts;\n let walker = getFocusableTreeWalker(root, {tabbable});\n let next = last(walker);\n if (next) {\n focusElement(next, true);\n }\n return next;\n }\n };\n}\n\nfunction last(walker: TreeWalker) {\n let next: HTMLElement;\n let last: HTMLElement;\n do {\n last = walker.lastChild() as HTMLElement;\n if (last) {\n next = last;\n }\n } while (last);\n return next;\n}\n","import {HTMLAttributes, useState} from 'react';\nimport {isFocusVisible, useFocus, useFocusVisibleListener, useFocusWithin} from '@react-aria/interactions';\nimport {useRef} from 'react';\n\ninterface FocusRingProps {\n /**\n * Whether to show the focus ring when something\n * inside the container element has focus (true), or\n * only if the container itself has focus (false).\n * @default 'false'\n */\n within?: boolean,\n\n /** Whether the element is a text input. */\n isTextInput?: boolean,\n\n /** Whether the element will be auto focused. */\n autoFocus?: boolean\n}\n\ninterface FocusRingAria {\n /** Whether the element is currently focused. */\n isFocused: boolean,\n\n /** Whether keyboard focus should be visible. */\n isFocusVisible: boolean,\n\n /** Props to apply to the container element with the focus ring. */\n focusProps: HTMLAttributes\n}\n\n/**\n * Determines whether a focus ring should be shown to indicate keyboard focus.\n * Focus rings are visible only when the user is interacting with a keyboard,\n * not with a mouse, touch, or other input methods.\n */\nexport function useFocusRing(props: FocusRingProps = {}): FocusRingAria {\n let {\n autoFocus = false,\n isTextInput,\n within\n } = props;\n let state = useRef({\n isFocused: false,\n isFocusVisible: autoFocus || isFocusVisible()\n }).current;\n let [isFocused, setFocused] = useState(false);\n let [isFocusVisibleState, setFocusVisible] = useState(() => state.isFocused && state.isFocusVisible);\n\n let updateState = () => setFocusVisible(state.isFocused && state.isFocusVisible);\n\n let onFocusChange = isFocused => {\n state.isFocused = isFocused;\n setFocused(isFocused);\n updateState();\n };\n\n useFocusVisibleListener((isFocusVisible) => {\n state.isFocusVisible = isFocusVisible;\n updateState();\n }, [], {isTextInput});\n\n let {focusProps} = useFocus({\n isDisabled: within,\n onFocusChange\n });\n\n let {focusWithinProps} = useFocusWithin({\n isDisabled: !within,\n onFocusWithinChange: onFocusChange\n });\n\n return {\n isFocused,\n isFocusVisible: state.isFocused && isFocusVisibleState,\n focusProps: within ? focusWithinProps : focusProps\n };\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\nimport clsx from 'clsx';\nimport {mergeProps} from '@react-aria/utils';\nimport React, {ReactElement} from 'react';\nimport {useFocusRing} from './useFocusRing';\n\ninterface FocusRingProps {\n /** Child element to apply CSS classes to. */\n children: ReactElement,\n /** CSS class to apply when the element is focused. */\n focusClass?: string,\n /** CSS class to apply when the element has keyboard focus. */\n focusRingClass?: string,\n /**\n * Whether to show the focus ring when something\n * inside the container element has focus (true), or\n * only if the container itself has focus (false).\n * @default false\n */\n within?: boolean,\n /** Whether the element is a text input. */\n isTextInput?: boolean,\n /** Whether the element will be auto focused. */\n autoFocus?: boolean\n}\n\n/**\n * A utility component that applies a CSS class when an element has keyboard focus.\n * Focus rings are visible only when the user is interacting with a keyboard,\n * not with a mouse, touch, or other input methods.\n */\nexport function FocusRing(props: FocusRingProps) {\n let {children, focusClass, focusRingClass} = props;\n let {isFocused, isFocusVisible, focusProps} = useFocusRing(props);\n let child = React.Children.only(children);\n\n return React.cloneElement(child, mergeProps(child.props, {\n ...focusProps,\n className: clsx({\n [focusClass || '']: isFocused,\n [focusRingClass || '']: isFocusVisible\n })\n }));\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\nimport {FocusableDOMProps, FocusableProps} from '@react-types/shared';\nimport {focusSafely} from './';\nimport {mergeProps, useSyncRef} from '@react-aria/utils';\nimport React, {HTMLAttributes, MutableRefObject, ReactNode, RefObject, useContext, useEffect, useRef} from 'react';\nimport {useFocus, useKeyboard} from '@react-aria/interactions';\n\ninterface FocusableOptions extends FocusableProps, FocusableDOMProps {\n /** Whether focus should be disabled. */\n isDisabled?: boolean\n}\n\ninterface FocusableProviderProps extends HTMLAttributes {\n /** The child element to provide DOM props to. */\n children?: ReactNode\n}\n\ninterface FocusableContextValue extends FocusableProviderProps {\n ref?: MutableRefObject\n}\n\nlet FocusableContext = React.createContext(null);\n\nfunction useFocusableContext(ref: RefObject): FocusableContextValue {\n let context = useContext(FocusableContext) || {};\n useSyncRef(context, ref);\n\n // eslint-disable-next-line\n let {ref: _, ...otherProps} = context;\n return otherProps;\n}\n\n/**\n * Provides DOM props to the nearest focusable child.\n */\nfunction FocusableProvider(props: FocusableProviderProps, ref: RefObject) {\n let {children, ...otherProps} = props;\n let context = {\n ...otherProps,\n ref\n };\n\n return (\n \n {children}\n \n );\n}\n\nlet _FocusableProvider = React.forwardRef(FocusableProvider);\nexport {_FocusableProvider as FocusableProvider};\n\ninterface FocusableAria {\n /** Props for the focusable element. */\n focusableProps: HTMLAttributes\n}\n\n/**\n * Used to make an element focusable and capable of auto focus.\n */\nexport function useFocusable(props: FocusableOptions, domRef: RefObject): FocusableAria {\n let {focusProps} = useFocus(props);\n let {keyboardProps} = useKeyboard(props);\n let interactions = mergeProps(focusProps, keyboardProps);\n let domProps = useFocusableContext(domRef);\n let interactionProps = props.isDisabled ? {} : domProps;\n let autoFocusRef = useRef(props.autoFocus);\n\n useEffect(() => {\n if (autoFocusRef.current && domRef.current) {\n focusSafely(domRef.current);\n }\n autoFocusRef.current = false;\n }, [domRef]);\n\n return {\n focusableProps: mergeProps(\n {\n ...interactions,\n tabIndex: props.excludeFromTabOrder && !props.isDisabled ? -1 : undefined\n },\n interactionProps\n )\n };\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\nimport {\n AnchorHTMLAttributes,\n ButtonHTMLAttributes,\n ElementType,\n HTMLAttributes,\n InputHTMLAttributes,\n RefObject\n} from 'react';\nimport {AriaButtonProps} from '@react-types/button';\nimport {filterDOMProps} from '@react-aria/utils';\nimport {mergeProps} from '@react-aria/utils';\nimport {useFocusable} from '@react-aria/focus';\nimport {usePress} from '@react-aria/interactions';\n\n\nexport interface ButtonAria {\n /** Props for the button element. */\n buttonProps: T,\n /** Whether the button is currently pressed. */\n isPressed: boolean\n}\n\n// Order with overrides is important: 'button' should be default\nexport function useButton(props: AriaButtonProps<'button'>, ref: RefObject): ButtonAria>;\nexport function useButton(props: AriaButtonProps<'a'>, ref: RefObject): ButtonAria>;\nexport function useButton(props: AriaButtonProps<'div'>, ref: RefObject): ButtonAria>;\nexport function useButton(props: AriaButtonProps<'input'>, ref: RefObject): ButtonAria>;\nexport function useButton(props: AriaButtonProps<'span'>, ref: RefObject): ButtonAria>;\nexport function useButton(props: AriaButtonProps, ref: RefObject): ButtonAria>;\n/**\n * Provides the behavior and accessibility implementation for a button component. Handles mouse, keyboard, and touch interactions,\n * focus behavior, and ARIA props for both native button elements and custom element types.\n * @param props - Props to be applied to the button.\n * @param ref - A ref to a DOM element for the button.\n */\nexport function useButton(props: AriaButtonProps, ref: RefObject): ButtonAria> {\n let {\n elementType = 'button',\n isDisabled,\n onPress,\n onPressStart,\n onPressEnd,\n onPressChange,\n // @ts-ignore - undocumented\n preventFocusOnPress,\n // @ts-ignore - undocumented\n allowFocusWhenDisabled,\n // @ts-ignore\n onClick: deprecatedOnClick,\n href,\n target,\n rel,\n type = 'button'\n } = props;\n let additionalProps;\n if (elementType === 'button') {\n additionalProps = {\n type,\n disabled: isDisabled\n };\n } else {\n additionalProps = {\n role: 'button',\n tabIndex: isDisabled ? undefined : 0,\n href: elementType === 'a' && isDisabled ? undefined : href,\n target: elementType === 'a' ? target : undefined,\n type: elementType === 'input' ? type : undefined,\n disabled: elementType === 'input' ? isDisabled : undefined,\n 'aria-disabled': !isDisabled || elementType === 'input' ? undefined : isDisabled,\n rel: elementType === 'a' ? rel : undefined\n };\n }\n\n let {pressProps, isPressed} = usePress({\n onPressStart,\n onPressEnd,\n onPressChange,\n onPress,\n isDisabled,\n preventFocusOnPress,\n ref\n });\n\n let {focusableProps} = useFocusable(props, ref);\n if (allowFocusWhenDisabled) {\n focusableProps.tabIndex = isDisabled ? -1 : focusableProps.tabIndex;\n }\n let buttonProps = mergeProps(focusableProps, pressProps, filterDOMProps(props, {labelable: true}));\n\n return {\n isPressed, // Used to indicate press state for visual\n buttonProps: mergeProps(additionalProps, buttonProps, {\n 'aria-haspopup': props['aria-haspopup'],\n 'aria-expanded': props['aria-expanded'],\n 'aria-controls': props['aria-controls'],\n 'aria-pressed': props['aria-pressed'],\n onClick: (e) => {\n if (deprecatedOnClick) {\n deprecatedOnClick(e);\n console.warn('onClick is deprecated, please use onPress');\n }\n }\n })\n };\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\nimport {\n AnchorHTMLAttributes,\n ButtonHTMLAttributes,\n ElementType,\n HTMLAttributes,\n InputHTMLAttributes,\n RefObject\n} from 'react';\nimport {AriaToggleButtonProps} from '@react-types/button';\nimport {ButtonAria, useButton} from './useButton';\nimport {chain} from '@react-aria/utils';\nimport {mergeProps} from '@react-aria/utils';\nimport {ToggleState} from '@react-stately/toggle';\n\nexport function useToggleButton(props: AriaToggleButtonProps<'a'>, state: ToggleState, ref: RefObject): ButtonAria>;\nexport function useToggleButton(props: AriaToggleButtonProps<'button'>, state: ToggleState, ref: RefObject): ButtonAria>;\nexport function useToggleButton(props: AriaToggleButtonProps<'div'>, state: ToggleState, ref: RefObject): ButtonAria>;\nexport function useToggleButton(props: AriaToggleButtonProps<'input'>, state: ToggleState, ref: RefObject): ButtonAria>;\nexport function useToggleButton(props: AriaToggleButtonProps<'span'>, state: ToggleState, ref: RefObject): ButtonAria>;\nexport function useToggleButton(props: AriaToggleButtonProps, state: ToggleState, ref: RefObject): ButtonAria>;\n/**\n * Provides the behavior and accessibility implementation for a toggle button component.\n * ToggleButtons allow users to toggle a selection on or off, for example switching between two states or modes.\n */\nexport function useToggleButton(props: AriaToggleButtonProps, state: ToggleState, ref: RefObject): ButtonAria> {\n const {isSelected} = state;\n const {isPressed, buttonProps} = useButton({\n ...props,\n onPress: chain(state.toggle, props.onPress)\n }, ref);\n\n return {\n isPressed,\n buttonProps: mergeProps(buttonProps, {\n 'aria-pressed': isSelected\n })\n };\n}\n","const o={};export default(e,n)=>{const r=`[Next UI]${n?` [${n}]`:\" \"}: ${e}`;if(\"undefined\"!=typeof console&&!o[r]){if(o[r]=!0,\"production\"!==process.env.NODE_ENV)return console.error(r);console.warn(r)}};","import t from\"react\";const o={isButtonGroup:!1,disabled:!1};export const ButtonGroupContext=t.createContext(o);export const useButtonGroupContext=()=>t.useContext(ButtonGroupContext);","import t from\"react\";import{styled as i}from\"../theme/stitches.config\";import n from\"../utils/with-defaults\";import o from\"../utils/clsx\";import{jsx as s}from\"react/jsx-runtime\";export const StyledButtonIcon=i(\"span\",{dflex:\"center\",position:\"absolute\",left:\"$$buttonPadding\",right:\"auto\",top:\"50%\",transform:\"translateY(-50%)\",color:\"inherit\",zIndex:\"$1\",\"& svg\":{background:\"transparent\"},variants:{isAuto:{true:{position:\"relative\",transform:\"none\",top:\"0%\"}},isRight:{true:{right:\"$$buttonPadding\",left:\"auto\"}},isSingle:{true:{position:\"static\",transform:\"none\"}},isGradientButtonBorder:{true:{}}},compoundVariants:[{isAuto:!0,isRight:!0,isSingle:!1,css:{order:2,ml:\"$$buttonPadding\",right:\"0%\",left:\"0%\"}},{isAuto:!0,isRight:!1,isSingle:!1,css:{order:0,mr:\"$$buttonPadding\",right:\"0%\",left:\"0%\"}},{isSingle:!0,isRight:!1,css:{ml:0}},{isSingle:!0,isRight:!0,css:{mr:0}},{isSingle:!0,isRight:!1,isGradientButtonBorder:!0,css:{mr:\"$$buttonPadding\"}}]});const e=({children:t,className:i,...n})=>s(StyledButtonIcon,{className:o(\"nextui-button-icon\",{\"nextui-button-icon-right\":n.isRight,\"nextui-button-icon-single\":n.isSingle},i),...n,children:t});e.toString=()=>\".nextui-button-icon\";const r=t.memo(e);export default n(r,{className:\"\"});","import{styled as r,cssFocusVisible as o}from\"../theme/stitches.config\";import{StyledDrip as t}from\"../utils/drip\";export const StyledButton=r(\"button\",{$$buttonBorderRadius:\"$radii$md\",$$buttonPressedScale:.97,dflex:\"center\",appearance:\"none\",boxSizing:\"border-box\",fontWeight:\"$medium\",us:\"none\",lineHeight:\"$sm\",ta:\"center\",whiteSpace:\"nowrap\",transition:\"$button\",position:\"relative\",overflow:\"hidden\",border:\"none\",cursor:\"pointer\",pe:\"auto\",p:0,br:\"$$buttonBorderRadius\",\"@motion\":{transition:\"none\"},\".nextui-button-text\":{dflex:\"center\",zIndex:\"$2\",\"p, pre, div\":{margin:0}},[`& ${t}`]:{zIndex:\"$1\",\".nextui-drip-filler\":{opacity:.25,fill:\"$accents2\"}},variants:{bordered:{true:{bg:\"transparent\",borderStyle:\"solid\",color:\"$text\"}},ghost:{true:{}},color:{default:{bg:\"$primary\",color:\"$primarySolidContrast\"},primary:{bg:\"$primary\",color:\"$primarySolidContrast\"},secondary:{bg:\"$secondary\",color:\"$secondarySolidContrast\"},success:{bg:\"$success\",color:\"$successSolidContrast\"},warning:{bg:\"$warning\",color:\"$warningSolidContrast\"},error:{bg:\"$error\",color:\"$errorSolidContrast\"},gradient:{bg:\"$gradient\",color:\"$primarySolidContrast\"}},size:{xs:{$$buttonPadding:\"$space$3\",$$buttonBorderRadius:\"$radii$xs\",px:\"$3\",height:\"$10\",lh:\"$space$10\",width:\"auto\",minWidth:\"$20\",fontSize:\"$tiny\"},sm:{$$buttonPadding:\"$space$5\",$$buttonBorderRadius:\"$radii$sm\",px:\"$5\",height:\"$12\",lh:\"$space$14\",width:\"auto\",minWidth:\"$36\",fontSize:\"$xs\"},md:{$$buttonPadding:\"$space$7\",$$buttonBorderRadius:\"$radii$md\",px:\"$7\",height:\"$14\",lh:\"$space$14\",width:\"auto\",minWidth:\"$48\",fontSize:\"$xs\"},lg:{$$buttonPadding:\"$space$9\",$$buttonBorderRadius:\"$radii$base\",px:\"$9\",height:\"$15\",lh:\"$space$15\",width:\"auto\",minWidth:\"$60\",fontSize:\"$base\"},xl:{$$buttonPadding:\"$space$10\",$$buttonBorderRadius:\"$radii$xl\",px:\"$10\",height:\"$17\",lh:\"$space$17\",width:\"auto\",minWidth:\"$72\",fontSize:\"$sm\"}},borderWeight:{light:{bw:\"$light\",$$buttonBorderWeight:\"$borderWeights$light\"},normal:{bw:\"$normal\",$$buttonBorderWeight:\"$borderWeights$normal\"},bold:{bw:\"$bold\",$$buttonBorderWeight:\"$borderWeights$bold\"},extrabold:{bw:\"$extrabold\",$$buttonBorderWeight:\"$borderWeights$extrabold\"},black:{bw:\"$black\",$$buttonBorderWeight:\"$borderWeights$black\"}},flat:{true:{color:\"$text\"}},light:{true:{bg:\"transparent\",[`& ${t}`]:{\".nextui-drip-filler\":{opacity:.8,fill:\"$accents2\"}}}},shadow:{true:{bs:\"$sm\"}},animated:{false:{transition:\"none\"}},auto:{true:{width:\"auto\",minWidth:\"min-content\"}},rounded:{true:{$$buttonBorderRadius:\"$radii$pill\"}},isPressed:{true:{}},isHovered:{true:{}}},compoundVariants:[{isPressed:!0,animated:!0,css:{transform:\"scale($$buttonPressedScale)\"}},{auto:!0,size:\"xs\",css:{px:\"$5\",minWidth:\"min-content\"}},{auto:!0,size:\"sm\",css:{px:\"$8\",minWidth:\"min-content\"}},{auto:!0,size:\"md\",css:{px:\"$9\",minWidth:\"min-content\"}},{auto:!0,size:\"lg\",css:{px:\"$10\",minWidth:\"min-content\"}},{auto:!0,size:\"xl\",css:{px:\"$11\",minWidth:\"min-content\"}},{shadow:!0,color:\"default\",css:{normalShadow:\"$primaryShadow\"}},{shadow:!0,color:\"primary\",css:{normalShadow:\"$primaryShadow\"}},{shadow:!0,color:\"secondary\",css:{normalShadow:\"$secondaryShadow\"}},{shadow:!0,color:\"warning\",css:{normalShadow:\"$warningShadow\"}},{shadow:!0,color:\"success\",css:{normalShadow:\"$successShadow\"}},{shadow:!0,color:\"error\",css:{normalShadow:\"$errorShadow\"}},{shadow:!0,color:\"gradient\",css:{normalShadow:\"$primaryShadow\"}},{light:!0,color:\"default\",css:{bg:\"transparent\",color:\"$text\",[`& ${t}`]:{\".nextui-drip-filler\":{opacity:.8,fill:\"$primaryLightActive\"}}}},{light:!0,color:\"primary\",css:{bg:\"transparent\",color:\"$primary\",[`& ${t}`]:{\".nextui-drip-filler\":{opacity:.8,fill:\"$primaryLightActive\"}}}},{light:!0,color:\"secondary\",css:{bg:\"transparent\",color:\"$secondary\",[`& ${t}`]:{\".nextui-drip-filler\":{opacity:.8,fill:\"$secondaryLightActive\"}}}},{light:!0,color:\"warning\",css:{bg:\"transparent\",color:\"$warning\",[`& ${t}`]:{\".nextui-drip-filler\":{opacity:.8,fill:\"$warningLightActive\"}}}},{light:!0,color:\"success\",css:{bg:\"transparent\",color:\"$success\",[`& ${t}`]:{\".nextui-drip-filler\":{opacity:.8,fill:\"$successLightActive\"}}}},{light:!0,color:\"error\",css:{bg:\"transparent\",color:\"$error\",[`& ${t}`]:{\".nextui-drip-filler\":{opacity:.8,fill:\"$errorLightActive\"}}}},{bordered:!0,color:\"default\",css:{bg:\"transparent\",borderColor:\"$primary\",color:\"$primary\",[`& ${t}`]:{\".nextui-drip-filler\":{fill:\"$primary\"}}}},{bordered:!0,color:\"primary\",css:{bg:\"transparent\",borderColor:\"$primary\",color:\"$primary\",[`& ${t}`]:{\".nextui-drip-filler\":{fill:\"$primary\"}}}},{bordered:!0,color:\"secondary\",css:{bg:\"transparent\",borderColor:\"$secondary\",color:\"$secondary\",[`& ${t}`]:{\".nextui-drip-filler\":{fill:\"$secondary\"}}}},{bordered:!0,color:\"success\",css:{bg:\"transparent\",borderColor:\"$success\",color:\"$success\",[`& ${t}`]:{\".nextui-drip-filler\":{fill:\"$success\"}}}},{bordered:!0,color:\"warning\",css:{bg:\"transparent\",borderColor:\"$warning\",color:\"$warning\",[`& ${t}`]:{\".nextui-drip-filler\":{fill:\"$warning\"}}}},{bordered:!0,color:\"error\",css:{bg:\"transparent\",borderColor:\"$error\",color:\"$error\",[`& ${t}`]:{\".nextui-drip-filler\":{fill:\"$error\"}}}},{bordered:!0,color:\"gradient\",css:{bg:\"transparent\",color:\"$text\",padding:\"$$buttonBorderWeight\",bgClip:\"content-box, border-box\",borderColor:\"$primary\",backgroundImage:\"linear-gradient($background, $background), $gradient\",border:\"none\",[`& ${t}`]:{\".nextui-drip-filler\":{fill:\"$secondary\"}}}},{ghost:!0,isHovered:!0,color:\"default\",css:{bg:\"$primary\",color:\"$primarySolidContrast\"}},{ghost:!0,isHovered:!0,color:\"primary\",css:{bg:\"$primary\",color:\"$primarySolidContrast\"}},{ghost:!0,isHovered:!0,color:\"secondary\",css:{bg:\"$secondary\",color:\"$secondarySolidContrast\"}},{ghost:!0,isHovered:!0,color:\"success\",css:{bg:\"$success\",color:\"$successSolidContrast\"}},{ghost:!0,isHovered:!0,color:\"warning\",css:{bg:\"$warning\",color:\"$warningSolidContrast\"}},{ghost:!0,isHovered:!0,color:\"error\",css:{bg:\"$error\",color:\"$errorSolidContrast\"}},{ghost:!0,color:\"gradient\",isHovered:!0,css:{bg:\"$gradient\",color:\"$white\"}},{flat:!0,color:\"default\",css:{bg:\"$primaryLight\",color:\"$primaryLightContrast\",[`& ${t}`]:{\".nextui-drip-filler\":{opacity:.4,fill:\"$primary\"}}}},{flat:!0,color:\"primary\",css:{bg:\"$primaryLight\",color:\"$primaryLightContrast\",[`& ${t}`]:{\".nextui-drip-filler\":{opacity:.4,fill:\"$primary\"}}}},{flat:!0,color:\"secondary\",css:{bg:\"$secondaryLight\",color:\"$secondaryLightContrast\",[`& ${t}`]:{\".nextui-drip-filler\":{opacity:.4,fill:\"$secondary\"}}}},{flat:!0,color:\"success\",css:{bg:\"$successLight\",color:\"$successLightContrast\",[`& ${t}`]:{\".nextui-drip-filler\":{opacity:.4,fill:\"$success\"}}}},{flat:!0,color:\"warning\",css:{bg:\"$warningLight\",color:\"$warningLightContrast\",[`& ${t}`]:{\".nextui-drip-filler\":{opacity:.4,fill:\"$warning\"}}}},{flat:!0,color:\"error\",css:{bg:\"$errorLight\",color:\"$errorLightContrast\",[`& ${t}`]:{\".nextui-drip-filler\":{opacity:.4,fill:\"$error\"}}}},{flat:!0,isHovered:!0,color:\"default\",css:{bg:\"$primaryLightHover\"}},{flat:!0,isHovered:!0,color:\"primary\",css:{bg:\"$primaryLightHover\"}},{flat:!0,isHovered:!0,color:\"secondary\",css:{bg:\"$secondaryLightHover\"}},{flat:!0,isHovered:!0,color:\"success\",css:{bg:\"$successLightHover\"}},{flat:!0,isHovered:!0,color:\"warning\",css:{bg:\"$warningLightHover\"}},{flat:!0,isHovered:!0,color:\"error\",css:{bg:\"$errorLightHover\"}},{flat:!0,isPressed:!0,color:\"default\",css:{bg:\"$primaryLightActive\"}},{flat:!0,isPressed:!0,color:\"primary\",css:{bg:\"$primaryLightActive\"}},{flat:!0,isPressed:!0,color:\"secondary\",css:{bg:\"$secondaryLightActive\"}},{flat:!0,isPressed:!0,color:\"success\",css:{bg:\"$successLightActive\"}},{flat:!0,isPressed:!0,color:\"warning\",css:{bg:\"$warningLightActive\"}},{flat:!0,isPressed:!0,color:\"error\",css:{bg:\"$errorLightActive\"}},{auto:!0,color:\"gradient\",bordered:!0,css:{\".nextui-button-text\":{px:\"$$buttonPadding\"},\".nextui-button-icon\":{ml:\"$$buttonPadding\"},\".nextui-button-icon-right\":{mr:\"$$buttonPadding\"},\".nextui-button-text-left\":{pl:0},\".nextui-button-text-right\":{pr:0}}},{rounded:!0,size:\"xs\",css:{br:\"$pill\"}},{rounded:!0,size:\"sm\",css:{br:\"$pill\"}},{rounded:!0,size:\"md\",css:{br:\"$pill\"}},{rounded:!0,size:\"lg\",css:{br:\"$pill\"}},{rounded:!0,size:\"xl\",css:{br:\"$pill\"}}],defaultVariants:{color:\"default\",borderWeight:\"normal\",animated:!0,size:\"md\"}},o);export default StyledButton;","import t,{useMemo as o}from\"react\";import{useFocusRing as r}from\"@react-aria/focus\";import{useButton as e}from\"@react-aria/button\";import{useHover as i}from\"@react-aria/interactions\";import{mergeProps as s}from\"@react-aria/utils\";import n from\"../use-warning\";import a from\"../utils/drip\";import{filterPropsWithGroup as l,getCssColors as u}from\"./utils\";import{useButtonGroupContext as d}from\"./button-group-context\";import m from\"./button-icon\";import c from\"../utils/clsx\";import p from\"../use-drip\";import f from\"./button.styles\";import b from\"../utils/with-defaults\";import{useDOMRef as h}from\"../utils/dom\";import{__DEV__ as g}from\"../utils/assertion\";import{jsx as x}from\"react/jsx-runtime\";import{Fragment as y}from\"react/jsx-runtime\";import{jsxs as v}from\"react/jsx-runtime\";const F=t.forwardRef((({onClick:b,onPress:F,as:N,css:P,...B},j)=>{const w=d(),k=l(B,w),C=u(k),{flat:R,children:S,disabled:T,animated:A,light:D,ripple:G,bordered:H,auto:U,borderWeight:V,icon:W,iconRight:I,ghost:$,autoFocus:q,className:z,...E}=k,J=t=>{A&&G&&K.current&&_(t)},K=h(j),{buttonProps:L,isPressed:M}=e({...B,onClick:t=>{J(t),null==b||b(t)},isDisabled:T,elementType:N,onPress:t=>{\"keyboard\"!==t.pointerType&&\"virtual\"!==t.pointerType||(J(t),null==b||b(t)),null==F||F(t)}},K),{hoverProps:O,isHovered:Q}=i({isDisabled:T}),{isFocused:X,isFocusVisible:Y,focusProps:Z}=r({autoFocus:q}),{onClick:_,...tt}=p(!1,K);g&&\"gradient\"===k.color&&(R||D)&&n(\"Using the gradient color on flat and light buttons will have no effect.\");const ot=W||I,rt=Boolean(I),et=o((()=>M?\"pressed\":Q?\"hovered\":T?\"disabled\":\"ready\"),[T,Q,M]);return v(f,{as:N,ref:K,borderWeight:V,auto:U,flat:R,light:D,ghost:$,bordered:H||$,\"data-state\":et,animated:A,isPressed:M,isHovered:Q||$&&X,isFocusVisible:Y&&!T,className:c(\"nextui-button\",`nextui-button--${et}`,z),css:{...P,...C},...s(L,Z,O,E),children:[0===t.Children.count(S)?x(m,{isSingle:!0,isAuto:U,isRight:rt,isGradientButtonBorder:\"gradient\"===E.color&&(H||$),children:ot}):ot?v(y,{children:[x(m,{isSingle:!1,isAuto:U,isRight:rt,isGradientButtonBorder:\"gradient\"===E.color&&(H||$),children:ot}),x(\"div\",{className:c(\"nextui-button-text\",{\"nextui-button-text-right\":rt,\"nextui-button-text-left\":!rt}),children:S})]}):x(\"span\",{className:\"nextui-button-text\",children:S}),x(a,{color:\"white\",...tt})]})}));g&&(F.displayName=\"NextUI.Button\"),F.toString=()=>\".nextui-button\";export default b(F,{ghost:!1,bordered:!1,ripple:!0,animated:!0,disabled:!1,autoFocus:!1,auto:!1,className:\"\",type:\"button\"});","export const filterPropsWithGroup=(e,o)=>{var r,t,n,l,d,a,i,s,g,u,b;return o.isButtonGroup?{...e,auto:!0,shadow:!1,bordered:null!=(r=o.bordered)?r:e.bordered,borderWeight:null!=(t=o.borderWeight)?t:e.borderWeight,ghost:null!=(n=o.ghost)?n:e.ghost,ripple:null!=(l=o.ripple)?l:e.ripple,flat:null!=(d=o.flat)?d:e.flat,animated:null!=(a=o.animated)?a:e.animated,rounded:null!=(i=o.rounded)?i:e.rounded,light:null!=(s=o.light)?s:e.light,size:null!=(g=o.size)?g:e.size,color:null!=(u=o.color)?u:e.color,disabled:null!=(b=o.disabled)?b:e.disabled}:e};export const getCssColors=e=>{if(!e.disabled)return e.auto&&\"gradient\"===e.color&&(e.bordered||e.ghost)?{px:\"$$buttonBorderWeight\",py:\"$$buttonBorderWeight\"}:{};const o={bg:\"$accents1\",color:\"$accents7\",transform:\"none\",boxShadow:\"none\",pe:\"none\"};return e.bordered||e.flat||e.ghost||e.light?\"gradient\"===e.color&&(e.bordered||e.ghost)?{color:\"$accents4\",backgroundImage:\"linear-gradient($background, $background), linear-gradient($accents2, $accents2)\",transform:\"none\",boxShadow:\"none\",pe:\"none\",pl:\"$$buttonBorderWeight\",pr:\"$$buttonBorderWeight\"}:e.bordered||e.ghost||e.light?{...o,bg:\"transparent\",borderColor:\"$accents4\"}:e.flat?{...o,bg:\"$accents1\"}:{}:o};","import{styled as t}from\"../theme/stitches.config\";import r from\"./button.styles\";export const StyledButtonGroup=t(\"div\",{display:\"inline-flex\",margin:\"$3\",backgroundColor:\"transparent\",height:\"min-content\",[`& ${r}`]:{\".nextui-button-text\":{top:0}},variants:{vertical:{true:{fd:\"column\",[`& ${r}`]:{\"&:not(:first-child)\":{btlr:0,btrr:0},\"&:not(:last-child)\":{bblr:0,bbrr:0}}},false:{fd:\"row\",[`& ${r}`]:{\"&:not(:first-child)\":{btlr:0,bblr:0},\"&:not(:last-child)\":{btrr:0,bbrr:0}}}},size:{xs:{br:\"$xs\"},sm:{br:\"$sm\"},md:{br:\"$md\"},lg:{br:\"$base\"},xl:{br:\"$xl\"}},rounded:{true:{br:\"$pill\"}},bordered:{true:{bg:\"transparent\"}},gradient:{true:{pl:0}}},defaultVariants:{vertical:!1},compoundVariants:[{bordered:!0,vertical:!0,css:{[`& ${r}`]:{\"&:not(:last-child)\":{borderBottom:\"none\",paddingBottom:\"0\"}}}},{bordered:!0,vertical:!1,css:{[`& ${r}`]:{\"&:not(:first-child)\":{borderLeft:\"none\"}}}},{bordered:!0,vertical:!1,gradient:!0,css:{[`& ${r}`]:{\"&:not(:last-child)&:not(:first-child)\":{pl:0},\"&:last-child\":{pl:0}}}}]});export default StyledButtonGroup;","import o,{useMemo as r}from\"react\";import t from\"../utils/with-defaults\";import{ButtonGroupContext as e}from\"./button-group-context\";import i from\"./button-group.styles\";import{jsx as d}from\"react/jsx-runtime\";const a=o=>{const{disabled:t,size:a,color:l,bordered:n,ghost:s,light:u,flat:m,shadow:p,auto:c,animated:g,rounded:h,ripple:b,borderWeight:f,children:x,...z}=o,w=r((()=>({disabled:t,size:a,color:l,bordered:n,light:u,ghost:s,flat:m,shadow:p,auto:c,borderWeight:f,animated:g,rounded:h,ripple:b,isButtonGroup:!0})),[t,g,a,b,l,n,u,s,m,f]);return d(e.Provider,{value:w,children:d(i,{size:a,bordered:n||s,gradient:\"gradient\"===o.color,...z,children:x})})};a.toString=()=>\".nextui-button-group\";const l=o.memo(a);export default t(l,{borderWeight:\"normal\",size:\"md\",color:\"default\"});","import t from\"./button\";import o from\"./button-group\";export{StyledButton}from\"./button.styles\";export{StyledButtonGroup}from\"./button-group.styles\";export{StyledButtonIcon}from\"./button-icon\";t.Group=o;export default t;","import { Card, Col, Row, Button, Text, Link } from \"@nextui-org/react\";\n\nexport const Header = () => (\n \n \n\n \n \n \n \n \n \n \n Free Retro Games on Web\n \n \n \n \n \n \n \n \n \n \n \n);\n","import{styled as t}from\"../theme/stitches.config\";export const StyledContainer=t(\"div\",{w:\"100%\",mr:\"auto\",ml:\"auto\",variants:{fluid:{true:{maxWidth:\"100%\"}},responsive:{true:{\"@xs\":{maxWidth:\"$breakpoints$xs\"},\"@sm\":{maxWidth:\"$breakpoints$sm\"},\"@md\":{maxWidth:\"$breakpoints$md\"},\"@lg\":{maxWidth:\"$breakpoints$lg\"},\"@xl\":{maxWidth:\"$breakpoints$xl\"}}}},defaultVariants:{fluid:!1,responsive:!0}});export default StyledContainer;","import s,{useMemo as i}from\"react\";import t from\"./container.styles\";import{jsx as e}from\"react/jsx-runtime\";const n=({xs:s,sm:n,md:r,lg:a,xl:o,wrap:l,gap:p,as:m,display:c,justify:d,direction:x,alignItems:$,alignContent:f,children:g,responsive:u,fluid:b,css:k,...y})=>{const j=i((()=>`calc(${p} * $space$sm)`),[p]);return e(t,{css:{px:j,maxWidth:s?\"$breakpoints$xs\":n?\"$breakpoints$sm\":r?\"$breakpoints$md\":a?\"$breakpoints$lg\":o?\"$breakpoints$xl\":\"\",alignItems:$,alignContent:f,flexWrap:l,display:c,justifyContent:d,flexDirection:x,...k},responsive:u,fluid:b,as:m,...y,children:g})};n.toString=()=>\".nextui-container\",n.defaultProps={gap:2,xs:!1,sm:!1,md:!1,lg:!1,xl:!1,responsive:!0,fluid:!1,wrap:\"wrap\",as:\"div\",display:\"block\"};export default s.memo(n);","import t from\"./container\";export{StyledContainer}from\"./container.styles\";export default t;","import { Card, Text, Link, Row } from \"@nextui-org/react\";\n\nexport default function Footer() {\n return (\n\n \n \n Copyright Retro Games 2022\n \n GitHub\n \n \n \n );\n}\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","export var ErrorKind;\n(function (ErrorKind) {\n /** Argument is unclosed (e.g. `{0`) */\n ErrorKind[ErrorKind[\"EXPECT_ARGUMENT_CLOSING_BRACE\"] = 1] = \"EXPECT_ARGUMENT_CLOSING_BRACE\";\n /** Argument is empty (e.g. `{}`). */\n ErrorKind[ErrorKind[\"EMPTY_ARGUMENT\"] = 2] = \"EMPTY_ARGUMENT\";\n /** Argument is malformed (e.g. `{foo!}``) */\n ErrorKind[ErrorKind[\"MALFORMED_ARGUMENT\"] = 3] = \"MALFORMED_ARGUMENT\";\n /** Expect an argument type (e.g. `{foo,}`) */\n ErrorKind[ErrorKind[\"EXPECT_ARGUMENT_TYPE\"] = 4] = \"EXPECT_ARGUMENT_TYPE\";\n /** Unsupported argument type (e.g. `{foo,foo}`) */\n ErrorKind[ErrorKind[\"INVALID_ARGUMENT_TYPE\"] = 5] = \"INVALID_ARGUMENT_TYPE\";\n /** Expect an argument style (e.g. `{foo, number, }`) */\n ErrorKind[ErrorKind[\"EXPECT_ARGUMENT_STYLE\"] = 6] = \"EXPECT_ARGUMENT_STYLE\";\n /** The number skeleton is invalid. */\n ErrorKind[ErrorKind[\"INVALID_NUMBER_SKELETON\"] = 7] = \"INVALID_NUMBER_SKELETON\";\n /** The date time skeleton is invalid. */\n ErrorKind[ErrorKind[\"INVALID_DATE_TIME_SKELETON\"] = 8] = \"INVALID_DATE_TIME_SKELETON\";\n /** Exepct a number skeleton following the `::` (e.g. `{foo, number, ::}`) */\n ErrorKind[ErrorKind[\"EXPECT_NUMBER_SKELETON\"] = 9] = \"EXPECT_NUMBER_SKELETON\";\n /** Exepct a date time skeleton following the `::` (e.g. `{foo, date, ::}`) */\n ErrorKind[ErrorKind[\"EXPECT_DATE_TIME_SKELETON\"] = 10] = \"EXPECT_DATE_TIME_SKELETON\";\n /** Unmatched apostrophes in the argument style (e.g. `{foo, number, 'test`) */\n ErrorKind[ErrorKind[\"UNCLOSED_QUOTE_IN_ARGUMENT_STYLE\"] = 11] = \"UNCLOSED_QUOTE_IN_ARGUMENT_STYLE\";\n /** Missing select argument options (e.g. `{foo, select}`) */\n ErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_OPTIONS\"] = 12] = \"EXPECT_SELECT_ARGUMENT_OPTIONS\";\n /** Expecting an offset value in `plural` or `selectordinal` argument (e.g `{foo, plural, offset}`) */\n ErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE\"] = 13] = \"EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE\";\n /** Offset value in `plural` or `selectordinal` is invalid (e.g. `{foo, plural, offset: x}`) */\n ErrorKind[ErrorKind[\"INVALID_PLURAL_ARGUMENT_OFFSET_VALUE\"] = 14] = \"INVALID_PLURAL_ARGUMENT_OFFSET_VALUE\";\n /** Expecting a selector in `select` argument (e.g `{foo, select}`) */\n ErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_SELECTOR\"] = 15] = \"EXPECT_SELECT_ARGUMENT_SELECTOR\";\n /** Expecting a selector in `plural` or `selectordinal` argument (e.g `{foo, plural}`) */\n ErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_SELECTOR\"] = 16] = \"EXPECT_PLURAL_ARGUMENT_SELECTOR\";\n /** Expecting a message fragment after the `select` selector (e.g. `{foo, select, apple}`) */\n ErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\"] = 17] = \"EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\";\n /**\n * Expecting a message fragment after the `plural` or `selectordinal` selector\n * (e.g. `{foo, plural, one}`)\n */\n ErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT\"] = 18] = \"EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT\";\n /** Selector in `plural` or `selectordinal` is malformed (e.g. `{foo, plural, =x {#}}`) */\n ErrorKind[ErrorKind[\"INVALID_PLURAL_ARGUMENT_SELECTOR\"] = 19] = \"INVALID_PLURAL_ARGUMENT_SELECTOR\";\n /**\n * Duplicate selectors in `plural` or `selectordinal` argument.\n * (e.g. {foo, plural, one {#} one {#}})\n */\n ErrorKind[ErrorKind[\"DUPLICATE_PLURAL_ARGUMENT_SELECTOR\"] = 20] = \"DUPLICATE_PLURAL_ARGUMENT_SELECTOR\";\n /** Duplicate selectors in `select` argument.\n * (e.g. {foo, select, apple {apple} apple {apple}})\n */\n ErrorKind[ErrorKind[\"DUPLICATE_SELECT_ARGUMENT_SELECTOR\"] = 21] = \"DUPLICATE_SELECT_ARGUMENT_SELECTOR\";\n /** Plural or select argument option must have `other` clause. */\n ErrorKind[ErrorKind[\"MISSING_OTHER_CLAUSE\"] = 22] = \"MISSING_OTHER_CLAUSE\";\n /** The tag is malformed. (e.g. `foo) */\n ErrorKind[ErrorKind[\"INVALID_TAG\"] = 23] = \"INVALID_TAG\";\n /** The tag name is invalid. (e.g. `<123>foo`) */\n ErrorKind[ErrorKind[\"INVALID_TAG_NAME\"] = 25] = \"INVALID_TAG_NAME\";\n /** The closing tag does not match the opening tag. (e.g. `foo`) */\n ErrorKind[ErrorKind[\"UNMATCHED_CLOSING_TAG\"] = 26] = \"UNMATCHED_CLOSING_TAG\";\n /** The opening tag has unmatched closing tag. (e.g. `foo`) */\n ErrorKind[ErrorKind[\"UNCLOSED_TAG\"] = 27] = \"UNCLOSED_TAG\";\n})(ErrorKind || (ErrorKind = {}));\n","export var TYPE;\n(function (TYPE) {\n /**\n * Raw text\n */\n TYPE[TYPE[\"literal\"] = 0] = \"literal\";\n /**\n * Variable w/o any format, e.g `var` in `this is a {var}`\n */\n TYPE[TYPE[\"argument\"] = 1] = \"argument\";\n /**\n * Variable w/ number format\n */\n TYPE[TYPE[\"number\"] = 2] = \"number\";\n /**\n * Variable w/ date format\n */\n TYPE[TYPE[\"date\"] = 3] = \"date\";\n /**\n * Variable w/ time format\n */\n TYPE[TYPE[\"time\"] = 4] = \"time\";\n /**\n * Variable w/ select format\n */\n TYPE[TYPE[\"select\"] = 5] = \"select\";\n /**\n * Variable w/ plural format\n */\n TYPE[TYPE[\"plural\"] = 6] = \"plural\";\n /**\n * Only possible within plural argument.\n * This is the `#` symbol that will be substituted with the count.\n */\n TYPE[TYPE[\"pound\"] = 7] = \"pound\";\n /**\n * XML-like tag\n */\n TYPE[TYPE[\"tag\"] = 8] = \"tag\";\n})(TYPE || (TYPE = {}));\nexport var SKELETON_TYPE;\n(function (SKELETON_TYPE) {\n SKELETON_TYPE[SKELETON_TYPE[\"number\"] = 0] = \"number\";\n SKELETON_TYPE[SKELETON_TYPE[\"dateTime\"] = 1] = \"dateTime\";\n})(SKELETON_TYPE || (SKELETON_TYPE = {}));\n/**\n * Type Guards\n */\nexport function isLiteralElement(el) {\n return el.type === TYPE.literal;\n}\nexport function isArgumentElement(el) {\n return el.type === TYPE.argument;\n}\nexport function isNumberElement(el) {\n return el.type === TYPE.number;\n}\nexport function isDateElement(el) {\n return el.type === TYPE.date;\n}\nexport function isTimeElement(el) {\n return el.type === TYPE.time;\n}\nexport function isSelectElement(el) {\n return el.type === TYPE.select;\n}\nexport function isPluralElement(el) {\n return el.type === TYPE.plural;\n}\nexport function isPoundElement(el) {\n return el.type === TYPE.pound;\n}\nexport function isTagElement(el) {\n return el.type === TYPE.tag;\n}\nexport function isNumberSkeleton(el) {\n return !!(el && typeof el === 'object' && el.type === SKELETON_TYPE.number);\n}\nexport function isDateTimeSkeleton(el) {\n return !!(el && typeof el === 'object' && el.type === SKELETON_TYPE.dateTime);\n}\nexport function createLiteralElement(value) {\n return {\n type: TYPE.literal,\n value: value,\n };\n}\nexport function createNumberElement(value, style) {\n return {\n type: TYPE.number,\n value: value,\n style: style,\n };\n}\n","// @generated from regex-gen.ts\nexport var SPACE_SEPARATOR_REGEX = /[ \\xA0\\u1680\\u2000-\\u200A\\u202F\\u205F\\u3000]/;\nexport var WHITE_SPACE_REGEX = /[\\t-\\r \\x85\\u200E\\u200F\\u2028\\u2029]/;\n","/**\n * https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * Credit: https://github.com/caridy/intl-datetimeformat-pattern/blob/master/index.js\n * with some tweaks\n */\nvar DATE_TIME_REGEX = /(?:[Eec]{1,6}|G{1,5}|[Qq]{1,5}|(?:[yYur]+|U{1,5})|[ML]{1,5}|d{1,2}|D{1,3}|F{1}|[abB]{1,5}|[hkHK]{1,2}|w{1,2}|W{1}|m{1,2}|s{1,2}|[zZOvVxX]{1,4})(?=([^']*'[^']*')*[^']*$)/g;\n/**\n * Parse Date time skeleton into Intl.DateTimeFormatOptions\n * Ref: https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * @public\n * @param skeleton skeleton string\n */\nexport function parseDateTimeSkeleton(skeleton) {\n var result = {};\n skeleton.replace(DATE_TIME_REGEX, function (match) {\n var len = match.length;\n switch (match[0]) {\n // Era\n case 'G':\n result.era = len === 4 ? 'long' : len === 5 ? 'narrow' : 'short';\n break;\n // Year\n case 'y':\n result.year = len === 2 ? '2-digit' : 'numeric';\n break;\n case 'Y':\n case 'u':\n case 'U':\n case 'r':\n throw new RangeError('`Y/u/U/r` (year) patterns are not supported, use `y` instead');\n // Quarter\n case 'q':\n case 'Q':\n throw new RangeError('`q/Q` (quarter) patterns are not supported');\n // Month\n case 'M':\n case 'L':\n result.month = ['numeric', '2-digit', 'short', 'long', 'narrow'][len - 1];\n break;\n // Week\n case 'w':\n case 'W':\n throw new RangeError('`w/W` (week) patterns are not supported');\n case 'd':\n result.day = ['numeric', '2-digit'][len - 1];\n break;\n case 'D':\n case 'F':\n case 'g':\n throw new RangeError('`D/F/g` (day) patterns are not supported, use `d` instead');\n // Weekday\n case 'E':\n result.weekday = len === 4 ? 'short' : len === 5 ? 'narrow' : 'short';\n break;\n case 'e':\n if (len < 4) {\n throw new RangeError('`e..eee` (weekday) patterns are not supported');\n }\n result.weekday = ['short', 'long', 'narrow', 'short'][len - 4];\n break;\n case 'c':\n if (len < 4) {\n throw new RangeError('`c..ccc` (weekday) patterns are not supported');\n }\n result.weekday = ['short', 'long', 'narrow', 'short'][len - 4];\n break;\n // Period\n case 'a': // AM, PM\n result.hour12 = true;\n break;\n case 'b': // am, pm, noon, midnight\n case 'B': // flexible day periods\n throw new RangeError('`b/B` (period) patterns are not supported, use `a` instead');\n // Hour\n case 'h':\n result.hourCycle = 'h12';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'H':\n result.hourCycle = 'h23';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'K':\n result.hourCycle = 'h11';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'k':\n result.hourCycle = 'h24';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'j':\n case 'J':\n case 'C':\n throw new RangeError('`j/J/C` (hour) patterns are not supported, use `h/H/K/k` instead');\n // Minute\n case 'm':\n result.minute = ['numeric', '2-digit'][len - 1];\n break;\n // Second\n case 's':\n result.second = ['numeric', '2-digit'][len - 1];\n break;\n case 'S':\n case 'A':\n throw new RangeError('`S/A` (second) patterns are not supported, use `s` instead');\n // Zone\n case 'z': // 1..3, 4: specific non-location format\n result.timeZoneName = len < 4 ? 'short' : 'long';\n break;\n case 'Z': // 1..3, 4, 5: The ISO8601 varios formats\n case 'O': // 1, 4: miliseconds in day short, long\n case 'v': // 1, 4: generic non-location format\n case 'V': // 1, 2, 3, 4: time zone ID or city\n case 'X': // 1, 2, 3, 4: The ISO8601 varios formats\n case 'x': // 1, 2, 3, 4: The ISO8601 varios formats\n throw new RangeError('`Z/O/v/V/X/x` (timeZone) patterns are not supported, use `z` instead');\n }\n return '';\n });\n return result;\n}\n","// @generated from regex-gen.ts\nexport var WHITE_SPACE_REGEX = /[\\t-\\r \\x85\\u200E\\u200F\\u2028\\u2029]/i;\n","import { __assign } from \"tslib\";\nimport { WHITE_SPACE_REGEX } from './regex.generated';\nexport function parseNumberSkeletonFromString(skeleton) {\n if (skeleton.length === 0) {\n throw new Error('Number skeleton cannot be empty');\n }\n // Parse the skeleton\n var stringTokens = skeleton\n .split(WHITE_SPACE_REGEX)\n .filter(function (x) { return x.length > 0; });\n var tokens = [];\n for (var _i = 0, stringTokens_1 = stringTokens; _i < stringTokens_1.length; _i++) {\n var stringToken = stringTokens_1[_i];\n var stemAndOptions = stringToken.split('/');\n if (stemAndOptions.length === 0) {\n throw new Error('Invalid number skeleton');\n }\n var stem = stemAndOptions[0], options = stemAndOptions.slice(1);\n for (var _a = 0, options_1 = options; _a < options_1.length; _a++) {\n var option = options_1[_a];\n if (option.length === 0) {\n throw new Error('Invalid number skeleton');\n }\n }\n tokens.push({ stem: stem, options: options });\n }\n return tokens;\n}\nfunction icuUnitToEcma(unit) {\n return unit.replace(/^(.*?)-/, '');\n}\nvar FRACTION_PRECISION_REGEX = /^\\.(?:(0+)(\\*)?|(#+)|(0+)(#+))$/g;\nvar SIGNIFICANT_PRECISION_REGEX = /^(@+)?(\\+|#+)?[rs]?$/g;\nvar INTEGER_WIDTH_REGEX = /(\\*)(0+)|(#+)(0+)|(0+)/g;\nvar CONCISE_INTEGER_WIDTH_REGEX = /^(0+)$/;\nfunction parseSignificantPrecision(str) {\n var result = {};\n if (str[str.length - 1] === 'r') {\n result.roundingPriority = 'morePrecision';\n }\n else if (str[str.length - 1] === 's') {\n result.roundingPriority = 'lessPrecision';\n }\n str.replace(SIGNIFICANT_PRECISION_REGEX, function (_, g1, g2) {\n // @@@ case\n if (typeof g2 !== 'string') {\n result.minimumSignificantDigits = g1.length;\n result.maximumSignificantDigits = g1.length;\n }\n // @@@+ case\n else if (g2 === '+') {\n result.minimumSignificantDigits = g1.length;\n }\n // .### case\n else if (g1[0] === '#') {\n result.maximumSignificantDigits = g1.length;\n }\n // .@@## or .@@@ case\n else {\n result.minimumSignificantDigits = g1.length;\n result.maximumSignificantDigits =\n g1.length + (typeof g2 === 'string' ? g2.length : 0);\n }\n return '';\n });\n return result;\n}\nfunction parseSign(str) {\n switch (str) {\n case 'sign-auto':\n return {\n signDisplay: 'auto',\n };\n case 'sign-accounting':\n case '()':\n return {\n currencySign: 'accounting',\n };\n case 'sign-always':\n case '+!':\n return {\n signDisplay: 'always',\n };\n case 'sign-accounting-always':\n case '()!':\n return {\n signDisplay: 'always',\n currencySign: 'accounting',\n };\n case 'sign-except-zero':\n case '+?':\n return {\n signDisplay: 'exceptZero',\n };\n case 'sign-accounting-except-zero':\n case '()?':\n return {\n signDisplay: 'exceptZero',\n currencySign: 'accounting',\n };\n case 'sign-never':\n case '+_':\n return {\n signDisplay: 'never',\n };\n }\n}\nfunction parseConciseScientificAndEngineeringStem(stem) {\n // Engineering\n var result;\n if (stem[0] === 'E' && stem[1] === 'E') {\n result = {\n notation: 'engineering',\n };\n stem = stem.slice(2);\n }\n else if (stem[0] === 'E') {\n result = {\n notation: 'scientific',\n };\n stem = stem.slice(1);\n }\n if (result) {\n var signDisplay = stem.slice(0, 2);\n if (signDisplay === '+!') {\n result.signDisplay = 'always';\n stem = stem.slice(2);\n }\n else if (signDisplay === '+?') {\n result.signDisplay = 'exceptZero';\n stem = stem.slice(2);\n }\n if (!CONCISE_INTEGER_WIDTH_REGEX.test(stem)) {\n throw new Error('Malformed concise eng/scientific notation');\n }\n result.minimumIntegerDigits = stem.length;\n }\n return result;\n}\nfunction parseNotationOptions(opt) {\n var result = {};\n var signOpts = parseSign(opt);\n if (signOpts) {\n return signOpts;\n }\n return result;\n}\n/**\n * https://github.com/unicode-org/icu/blob/master/docs/userguide/format_parse/numbers/skeletons.md#skeleton-stems-and-options\n */\nexport function parseNumberSkeleton(tokens) {\n var result = {};\n for (var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++) {\n var token = tokens_1[_i];\n switch (token.stem) {\n case 'percent':\n case '%':\n result.style = 'percent';\n continue;\n case '%x100':\n result.style = 'percent';\n result.scale = 100;\n continue;\n case 'currency':\n result.style = 'currency';\n result.currency = token.options[0];\n continue;\n case 'group-off':\n case ',_':\n result.useGrouping = false;\n continue;\n case 'precision-integer':\n case '.':\n result.maximumFractionDigits = 0;\n continue;\n case 'measure-unit':\n case 'unit':\n result.style = 'unit';\n result.unit = icuUnitToEcma(token.options[0]);\n continue;\n case 'compact-short':\n case 'K':\n result.notation = 'compact';\n result.compactDisplay = 'short';\n continue;\n case 'compact-long':\n case 'KK':\n result.notation = 'compact';\n result.compactDisplay = 'long';\n continue;\n case 'scientific':\n result = __assign(__assign(__assign({}, result), { notation: 'scientific' }), token.options.reduce(function (all, opt) { return (__assign(__assign({}, all), parseNotationOptions(opt))); }, {}));\n continue;\n case 'engineering':\n result = __assign(__assign(__assign({}, result), { notation: 'engineering' }), token.options.reduce(function (all, opt) { return (__assign(__assign({}, all), parseNotationOptions(opt))); }, {}));\n continue;\n case 'notation-simple':\n result.notation = 'standard';\n continue;\n // https://github.com/unicode-org/icu/blob/master/icu4c/source/i18n/unicode/unumberformatter.h\n case 'unit-width-narrow':\n result.currencyDisplay = 'narrowSymbol';\n result.unitDisplay = 'narrow';\n continue;\n case 'unit-width-short':\n result.currencyDisplay = 'code';\n result.unitDisplay = 'short';\n continue;\n case 'unit-width-full-name':\n result.currencyDisplay = 'name';\n result.unitDisplay = 'long';\n continue;\n case 'unit-width-iso-code':\n result.currencyDisplay = 'symbol';\n continue;\n case 'scale':\n result.scale = parseFloat(token.options[0]);\n continue;\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#integer-width\n case 'integer-width':\n if (token.options.length > 1) {\n throw new RangeError('integer-width stems only accept a single optional option');\n }\n token.options[0].replace(INTEGER_WIDTH_REGEX, function (_, g1, g2, g3, g4, g5) {\n if (g1) {\n result.minimumIntegerDigits = g2.length;\n }\n else if (g3 && g4) {\n throw new Error('We currently do not support maximum integer digits');\n }\n else if (g5) {\n throw new Error('We currently do not support exact integer digits');\n }\n return '';\n });\n continue;\n }\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#integer-width\n if (CONCISE_INTEGER_WIDTH_REGEX.test(token.stem)) {\n result.minimumIntegerDigits = token.stem.length;\n continue;\n }\n if (FRACTION_PRECISION_REGEX.test(token.stem)) {\n // Precision\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#fraction-precision\n // precision-integer case\n if (token.options.length > 1) {\n throw new RangeError('Fraction-precision stems only accept a single optional option');\n }\n token.stem.replace(FRACTION_PRECISION_REGEX, function (_, g1, g2, g3, g4, g5) {\n // .000* case (before ICU67 it was .000+)\n if (g2 === '*') {\n result.minimumFractionDigits = g1.length;\n }\n // .### case\n else if (g3 && g3[0] === '#') {\n result.maximumFractionDigits = g3.length;\n }\n // .00## case\n else if (g4 && g5) {\n result.minimumFractionDigits = g4.length;\n result.maximumFractionDigits = g4.length + g5.length;\n }\n else {\n result.minimumFractionDigits = g1.length;\n result.maximumFractionDigits = g1.length;\n }\n return '';\n });\n var opt = token.options[0];\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#trailing-zero-display\n if (opt === 'w') {\n result = __assign(__assign({}, result), { trailingZeroDisplay: 'stripIfInteger' });\n }\n else if (opt) {\n result = __assign(__assign({}, result), parseSignificantPrecision(opt));\n }\n continue;\n }\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#significant-digits-precision\n if (SIGNIFICANT_PRECISION_REGEX.test(token.stem)) {\n result = __assign(__assign({}, result), parseSignificantPrecision(token.stem));\n continue;\n }\n var signOpts = parseSign(token.stem);\n if (signOpts) {\n result = __assign(__assign({}, result), signOpts);\n }\n var conciseScientificAndEngineeringOpts = parseConciseScientificAndEngineeringStem(token.stem);\n if (conciseScientificAndEngineeringOpts) {\n result = __assign(__assign({}, result), conciseScientificAndEngineeringOpts);\n }\n }\n return result;\n}\n","// @generated from time-data-gen.ts\n// prettier-ignore \nexport var timeData = {\n \"AX\": [\n \"H\"\n ],\n \"BQ\": [\n \"H\"\n ],\n \"CP\": [\n \"H\"\n ],\n \"CZ\": [\n \"H\"\n ],\n \"DK\": [\n \"H\"\n ],\n \"FI\": [\n \"H\"\n ],\n \"ID\": [\n \"H\"\n ],\n \"IS\": [\n \"H\"\n ],\n \"ML\": [\n \"H\"\n ],\n \"NE\": [\n \"H\"\n ],\n \"RU\": [\n \"H\"\n ],\n \"SE\": [\n \"H\"\n ],\n \"SJ\": [\n \"H\"\n ],\n \"SK\": [\n \"H\"\n ],\n \"AS\": [\n \"h\",\n \"H\"\n ],\n \"BT\": [\n \"h\",\n \"H\"\n ],\n \"DJ\": [\n \"h\",\n \"H\"\n ],\n \"ER\": [\n \"h\",\n \"H\"\n ],\n \"GH\": [\n \"h\",\n \"H\"\n ],\n \"IN\": [\n \"h\",\n \"H\"\n ],\n \"LS\": [\n \"h\",\n \"H\"\n ],\n \"PG\": [\n \"h\",\n \"H\"\n ],\n \"PW\": [\n \"h\",\n \"H\"\n ],\n \"SO\": [\n \"h\",\n \"H\"\n ],\n \"TO\": [\n \"h\",\n \"H\"\n ],\n \"VU\": [\n \"h\",\n \"H\"\n ],\n \"WS\": [\n \"h\",\n \"H\"\n ],\n \"001\": [\n \"H\",\n \"h\"\n ],\n \"AL\": [\n \"h\",\n \"H\",\n \"hB\"\n ],\n \"TD\": [\n \"h\",\n \"H\",\n \"hB\"\n ],\n \"ca-ES\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"CF\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"CM\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"fr-CA\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"gl-ES\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"it-CH\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"it-IT\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"LU\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"NP\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"PF\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"SC\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"SM\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"SN\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"TF\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"VA\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"CY\": [\n \"h\",\n \"H\",\n \"hb\",\n \"hB\"\n ],\n \"GR\": [\n \"h\",\n \"H\",\n \"hb\",\n \"hB\"\n ],\n \"CO\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"DO\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"KP\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"KR\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"NA\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"PA\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"PR\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"VE\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"AC\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"AI\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"BW\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"BZ\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"CC\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"CK\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"CX\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"DG\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"FK\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"GB\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"GG\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"GI\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"IE\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"IM\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"IO\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"JE\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"LT\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"MK\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"MN\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"MS\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"NF\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"NG\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"NR\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"NU\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"PN\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"SH\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"SX\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"TA\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"ZA\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"af-ZA\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"AR\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"CL\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"CR\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"CU\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"EA\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-BO\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-BR\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-EC\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-ES\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-GQ\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-PE\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"GT\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"HN\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"IC\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"KG\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"KM\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"LK\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"MA\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"MX\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"NI\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"PY\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"SV\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"UY\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"JP\": [\n \"H\",\n \"h\",\n \"K\"\n ],\n \"AD\": [\n \"H\",\n \"hB\"\n ],\n \"AM\": [\n \"H\",\n \"hB\"\n ],\n \"AO\": [\n \"H\",\n \"hB\"\n ],\n \"AT\": [\n \"H\",\n \"hB\"\n ],\n \"AW\": [\n \"H\",\n \"hB\"\n ],\n \"BE\": [\n \"H\",\n \"hB\"\n ],\n \"BF\": [\n \"H\",\n \"hB\"\n ],\n \"BJ\": [\n \"H\",\n \"hB\"\n ],\n \"BL\": [\n \"H\",\n \"hB\"\n ],\n \"BR\": [\n \"H\",\n \"hB\"\n ],\n \"CG\": [\n \"H\",\n \"hB\"\n ],\n \"CI\": [\n \"H\",\n \"hB\"\n ],\n \"CV\": [\n \"H\",\n \"hB\"\n ],\n \"DE\": [\n \"H\",\n \"hB\"\n ],\n \"EE\": [\n \"H\",\n \"hB\"\n ],\n \"FR\": [\n \"H\",\n \"hB\"\n ],\n \"GA\": [\n \"H\",\n \"hB\"\n ],\n \"GF\": [\n \"H\",\n \"hB\"\n ],\n \"GN\": [\n \"H\",\n \"hB\"\n ],\n \"GP\": [\n \"H\",\n \"hB\"\n ],\n \"GW\": [\n \"H\",\n \"hB\"\n ],\n \"HR\": [\n \"H\",\n \"hB\"\n ],\n \"IL\": [\n \"H\",\n \"hB\"\n ],\n \"IT\": [\n \"H\",\n \"hB\"\n ],\n \"KZ\": [\n \"H\",\n \"hB\"\n ],\n \"MC\": [\n \"H\",\n \"hB\"\n ],\n \"MD\": [\n \"H\",\n \"hB\"\n ],\n \"MF\": [\n \"H\",\n \"hB\"\n ],\n \"MQ\": [\n \"H\",\n \"hB\"\n ],\n \"MZ\": [\n \"H\",\n \"hB\"\n ],\n \"NC\": [\n \"H\",\n \"hB\"\n ],\n \"NL\": [\n \"H\",\n \"hB\"\n ],\n \"PM\": [\n \"H\",\n \"hB\"\n ],\n \"PT\": [\n \"H\",\n \"hB\"\n ],\n \"RE\": [\n \"H\",\n \"hB\"\n ],\n \"RO\": [\n \"H\",\n \"hB\"\n ],\n \"SI\": [\n \"H\",\n \"hB\"\n ],\n \"SR\": [\n \"H\",\n \"hB\"\n ],\n \"ST\": [\n \"H\",\n \"hB\"\n ],\n \"TG\": [\n \"H\",\n \"hB\"\n ],\n \"TR\": [\n \"H\",\n \"hB\"\n ],\n \"WF\": [\n \"H\",\n \"hB\"\n ],\n \"YT\": [\n \"H\",\n \"hB\"\n ],\n \"BD\": [\n \"h\",\n \"hB\",\n \"H\"\n ],\n \"PK\": [\n \"h\",\n \"hB\",\n \"H\"\n ],\n \"AZ\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"BA\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"BG\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"CH\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"GE\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"LI\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"ME\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"RS\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"UA\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"UZ\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"XK\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"AG\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"AU\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"BB\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"BM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"BS\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"CA\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"DM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"en-001\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"FJ\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"FM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"GD\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"GM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"GU\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"GY\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"JM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"KI\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"KN\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"KY\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"LC\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"LR\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"MH\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"MP\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"MW\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"NZ\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"SB\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"SG\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"SL\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"SS\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"SZ\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"TC\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"TT\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"UM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"US\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"VC\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"VG\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"VI\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"ZM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"BO\": [\n \"H\",\n \"hB\",\n \"h\",\n \"hb\"\n ],\n \"EC\": [\n \"H\",\n \"hB\",\n \"h\",\n \"hb\"\n ],\n \"ES\": [\n \"H\",\n \"hB\",\n \"h\",\n \"hb\"\n ],\n \"GQ\": [\n \"H\",\n \"hB\",\n \"h\",\n \"hb\"\n ],\n \"PE\": [\n \"H\",\n \"hB\",\n \"h\",\n \"hb\"\n ],\n \"AE\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"ar-001\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"BH\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"DZ\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"EG\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"EH\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"HK\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"IQ\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"JO\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"KW\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"LB\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"LY\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"MO\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"MR\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"OM\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"PH\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"PS\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"QA\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"SA\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"SD\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"SY\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"TN\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"YE\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"AF\": [\n \"H\",\n \"hb\",\n \"hB\",\n \"h\"\n ],\n \"LA\": [\n \"H\",\n \"hb\",\n \"hB\",\n \"h\"\n ],\n \"CN\": [\n \"H\",\n \"hB\",\n \"hb\",\n \"h\"\n ],\n \"LV\": [\n \"H\",\n \"hB\",\n \"hb\",\n \"h\"\n ],\n \"TL\": [\n \"H\",\n \"hB\",\n \"hb\",\n \"h\"\n ],\n \"zu-ZA\": [\n \"H\",\n \"hB\",\n \"hb\",\n \"h\"\n ],\n \"CD\": [\n \"hB\",\n \"H\"\n ],\n \"IR\": [\n \"hB\",\n \"H\"\n ],\n \"hi-IN\": [\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"kn-IN\": [\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"ml-IN\": [\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"te-IN\": [\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"KH\": [\n \"hB\",\n \"h\",\n \"H\",\n \"hb\"\n ],\n \"ta-IN\": [\n \"hB\",\n \"h\",\n \"hb\",\n \"H\"\n ],\n \"BN\": [\n \"hb\",\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"MY\": [\n \"hb\",\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"ET\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"gu-IN\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"mr-IN\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"pa-IN\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"TW\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"KE\": [\n \"hB\",\n \"hb\",\n \"H\",\n \"h\"\n ],\n \"MM\": [\n \"hB\",\n \"hb\",\n \"H\",\n \"h\"\n ],\n \"TZ\": [\n \"hB\",\n \"hb\",\n \"H\",\n \"h\"\n ],\n \"UG\": [\n \"hB\",\n \"hb\",\n \"H\",\n \"h\"\n ]\n};\n","var _a;\nimport { __assign } from \"tslib\";\nimport { ErrorKind } from './error';\nimport { SKELETON_TYPE, TYPE, } from './types';\nimport { SPACE_SEPARATOR_REGEX } from './regex.generated';\nimport { parseNumberSkeleton, parseNumberSkeletonFromString, parseDateTimeSkeleton, } from '@formatjs/icu-skeleton-parser';\nimport { getBestPattern } from './date-time-pattern-generator';\nvar SPACE_SEPARATOR_START_REGEX = new RegExp(\"^\".concat(SPACE_SEPARATOR_REGEX.source, \"*\"));\nvar SPACE_SEPARATOR_END_REGEX = new RegExp(\"\".concat(SPACE_SEPARATOR_REGEX.source, \"*$\"));\nfunction createLocation(start, end) {\n return { start: start, end: end };\n}\n// #region Ponyfills\n// Consolidate these variables up top for easier toggling during debugging\nvar hasNativeStartsWith = !!String.prototype.startsWith;\nvar hasNativeFromCodePoint = !!String.fromCodePoint;\nvar hasNativeFromEntries = !!Object.fromEntries;\nvar hasNativeCodePointAt = !!String.prototype.codePointAt;\nvar hasTrimStart = !!String.prototype.trimStart;\nvar hasTrimEnd = !!String.prototype.trimEnd;\nvar hasNativeIsSafeInteger = !!Number.isSafeInteger;\nvar isSafeInteger = hasNativeIsSafeInteger\n ? Number.isSafeInteger\n : function (n) {\n return (typeof n === 'number' &&\n isFinite(n) &&\n Math.floor(n) === n &&\n Math.abs(n) <= 0x1fffffffffffff);\n };\n// IE11 does not support y and u.\nvar REGEX_SUPPORTS_U_AND_Y = true;\ntry {\n var re = RE('([^\\\\p{White_Space}\\\\p{Pattern_Syntax}]*)', 'yu');\n /**\n * legacy Edge or Xbox One browser\n * Unicode flag support: supported\n * Pattern_Syntax support: not supported\n * See https://github.com/formatjs/formatjs/issues/2822\n */\n REGEX_SUPPORTS_U_AND_Y = ((_a = re.exec('a')) === null || _a === void 0 ? void 0 : _a[0]) === 'a';\n}\ncatch (_) {\n REGEX_SUPPORTS_U_AND_Y = false;\n}\nvar startsWith = hasNativeStartsWith\n ? // Native\n function startsWith(s, search, position) {\n return s.startsWith(search, position);\n }\n : // For IE11\n function startsWith(s, search, position) {\n return s.slice(position, position + search.length) === search;\n };\nvar fromCodePoint = hasNativeFromCodePoint\n ? String.fromCodePoint\n : // IE11\n function fromCodePoint() {\n var codePoints = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n codePoints[_i] = arguments[_i];\n }\n var elements = '';\n var length = codePoints.length;\n var i = 0;\n var code;\n while (length > i) {\n code = codePoints[i++];\n if (code > 0x10ffff)\n throw RangeError(code + ' is not a valid code point');\n elements +=\n code < 0x10000\n ? String.fromCharCode(code)\n : String.fromCharCode(((code -= 0x10000) >> 10) + 0xd800, (code % 0x400) + 0xdc00);\n }\n return elements;\n };\nvar fromEntries = \n// native\nhasNativeFromEntries\n ? Object.fromEntries\n : // Ponyfill\n function fromEntries(entries) {\n var obj = {};\n for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {\n var _a = entries_1[_i], k = _a[0], v = _a[1];\n obj[k] = v;\n }\n return obj;\n };\nvar codePointAt = hasNativeCodePointAt\n ? // Native\n function codePointAt(s, index) {\n return s.codePointAt(index);\n }\n : // IE 11\n function codePointAt(s, index) {\n var size = s.length;\n if (index < 0 || index >= size) {\n return undefined;\n }\n var first = s.charCodeAt(index);\n var second;\n return first < 0xd800 ||\n first > 0xdbff ||\n index + 1 === size ||\n (second = s.charCodeAt(index + 1)) < 0xdc00 ||\n second > 0xdfff\n ? first\n : ((first - 0xd800) << 10) + (second - 0xdc00) + 0x10000;\n };\nvar trimStart = hasTrimStart\n ? // Native\n function trimStart(s) {\n return s.trimStart();\n }\n : // Ponyfill\n function trimStart(s) {\n return s.replace(SPACE_SEPARATOR_START_REGEX, '');\n };\nvar trimEnd = hasTrimEnd\n ? // Native\n function trimEnd(s) {\n return s.trimEnd();\n }\n : // Ponyfill\n function trimEnd(s) {\n return s.replace(SPACE_SEPARATOR_END_REGEX, '');\n };\n// Prevent minifier to translate new RegExp to literal form that might cause syntax error on IE11.\nfunction RE(s, flag) {\n return new RegExp(s, flag);\n}\n// #endregion\nvar matchIdentifierAtIndex;\nif (REGEX_SUPPORTS_U_AND_Y) {\n // Native\n var IDENTIFIER_PREFIX_RE_1 = RE('([^\\\\p{White_Space}\\\\p{Pattern_Syntax}]*)', 'yu');\n matchIdentifierAtIndex = function matchIdentifierAtIndex(s, index) {\n var _a;\n IDENTIFIER_PREFIX_RE_1.lastIndex = index;\n var match = IDENTIFIER_PREFIX_RE_1.exec(s);\n return (_a = match[1]) !== null && _a !== void 0 ? _a : '';\n };\n}\nelse {\n // IE11\n matchIdentifierAtIndex = function matchIdentifierAtIndex(s, index) {\n var match = [];\n while (true) {\n var c = codePointAt(s, index);\n if (c === undefined || _isWhiteSpace(c) || _isPatternSyntax(c)) {\n break;\n }\n match.push(c);\n index += c >= 0x10000 ? 2 : 1;\n }\n return fromCodePoint.apply(void 0, match);\n };\n}\nvar Parser = /** @class */ (function () {\n function Parser(message, options) {\n if (options === void 0) { options = {}; }\n this.message = message;\n this.position = { offset: 0, line: 1, column: 1 };\n this.ignoreTag = !!options.ignoreTag;\n this.locale = options.locale;\n this.requiresOtherClause = !!options.requiresOtherClause;\n this.shouldParseSkeletons = !!options.shouldParseSkeletons;\n }\n Parser.prototype.parse = function () {\n if (this.offset() !== 0) {\n throw Error('parser can only be used once');\n }\n return this.parseMessage(0, '', false);\n };\n Parser.prototype.parseMessage = function (nestingLevel, parentArgType, expectingCloseTag) {\n var elements = [];\n while (!this.isEOF()) {\n var char = this.char();\n if (char === 123 /* `{` */) {\n var result = this.parseArgument(nestingLevel, expectingCloseTag);\n if (result.err) {\n return result;\n }\n elements.push(result.val);\n }\n else if (char === 125 /* `}` */ && nestingLevel > 0) {\n break;\n }\n else if (char === 35 /* `#` */ &&\n (parentArgType === 'plural' || parentArgType === 'selectordinal')) {\n var position = this.clonePosition();\n this.bump();\n elements.push({\n type: TYPE.pound,\n location: createLocation(position, this.clonePosition()),\n });\n }\n else if (char === 60 /* `<` */ &&\n !this.ignoreTag &&\n this.peek() === 47 // char code for '/'\n ) {\n if (expectingCloseTag) {\n break;\n }\n else {\n return this.error(ErrorKind.UNMATCHED_CLOSING_TAG, createLocation(this.clonePosition(), this.clonePosition()));\n }\n }\n else if (char === 60 /* `<` */ &&\n !this.ignoreTag &&\n _isAlpha(this.peek() || 0)) {\n var result = this.parseTag(nestingLevel, parentArgType);\n if (result.err) {\n return result;\n }\n elements.push(result.val);\n }\n else {\n var result = this.parseLiteral(nestingLevel, parentArgType);\n if (result.err) {\n return result;\n }\n elements.push(result.val);\n }\n }\n return { val: elements, err: null };\n };\n /**\n * A tag name must start with an ASCII lower/upper case letter. The grammar is based on the\n * [custom element name][] except that a dash is NOT always mandatory and uppercase letters\n * are accepted:\n *\n * ```\n * tag ::= \"<\" tagName (whitespace)* \"/>\" | \"<\" tagName (whitespace)* \">\" message \"\"\n * tagName ::= [a-z] (PENChar)*\n * PENChar ::=\n * \"-\" | \".\" | [0-9] | \"_\" | [a-z] | [A-Z] | #xB7 | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x37D] |\n * [#x37F-#x1FFF] | [#x200C-#x200D] | [#x203F-#x2040] | [#x2070-#x218F] | [#x2C00-#x2FEF] |\n * [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]\n * ```\n *\n * [custom element name]: https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name\n * NOTE: We're a bit more lax here since HTML technically does not allow uppercase HTML element but we do\n * since other tag-based engines like React allow it\n */\n Parser.prototype.parseTag = function (nestingLevel, parentArgType) {\n var startPosition = this.clonePosition();\n this.bump(); // `<`\n var tagName = this.parseTagName();\n this.bumpSpace();\n if (this.bumpIf('/>')) {\n // Self closing tag\n return {\n val: {\n type: TYPE.literal,\n value: \"<\".concat(tagName, \"/>\"),\n location: createLocation(startPosition, this.clonePosition()),\n },\n err: null,\n };\n }\n else if (this.bumpIf('>')) {\n var childrenResult = this.parseMessage(nestingLevel + 1, parentArgType, true);\n if (childrenResult.err) {\n return childrenResult;\n }\n var children = childrenResult.val;\n // Expecting a close tag\n var endTagStartPosition = this.clonePosition();\n if (this.bumpIf('')) {\n return this.error(ErrorKind.INVALID_TAG, createLocation(endTagStartPosition, this.clonePosition()));\n }\n return {\n val: {\n type: TYPE.tag,\n value: tagName,\n children: children,\n location: createLocation(startPosition, this.clonePosition()),\n },\n err: null,\n };\n }\n else {\n return this.error(ErrorKind.UNCLOSED_TAG, createLocation(startPosition, this.clonePosition()));\n }\n }\n else {\n return this.error(ErrorKind.INVALID_TAG, createLocation(startPosition, this.clonePosition()));\n }\n };\n /**\n * This method assumes that the caller has peeked ahead for the first tag character.\n */\n Parser.prototype.parseTagName = function () {\n var startOffset = this.offset();\n this.bump(); // the first tag name character\n while (!this.isEOF() && _isPotentialElementNameChar(this.char())) {\n this.bump();\n }\n return this.message.slice(startOffset, this.offset());\n };\n Parser.prototype.parseLiteral = function (nestingLevel, parentArgType) {\n var start = this.clonePosition();\n var value = '';\n while (true) {\n var parseQuoteResult = this.tryParseQuote(parentArgType);\n if (parseQuoteResult) {\n value += parseQuoteResult;\n continue;\n }\n var parseUnquotedResult = this.tryParseUnquoted(nestingLevel, parentArgType);\n if (parseUnquotedResult) {\n value += parseUnquotedResult;\n continue;\n }\n var parseLeftAngleResult = this.tryParseLeftAngleBracket();\n if (parseLeftAngleResult) {\n value += parseLeftAngleResult;\n continue;\n }\n break;\n }\n var location = createLocation(start, this.clonePosition());\n return {\n val: { type: TYPE.literal, value: value, location: location },\n err: null,\n };\n };\n Parser.prototype.tryParseLeftAngleBracket = function () {\n if (!this.isEOF() &&\n this.char() === 60 /* `<` */ &&\n (this.ignoreTag ||\n // If at the opening tag or closing tag position, bail.\n !_isAlphaOrSlash(this.peek() || 0))) {\n this.bump(); // `<`\n return '<';\n }\n return null;\n };\n /**\n * Starting with ICU 4.8, an ASCII apostrophe only starts quoted text if it immediately precedes\n * a character that requires quoting (that is, \"only where needed\"), and works the same in\n * nested messages as on the top level of the pattern. The new behavior is otherwise compatible.\n */\n Parser.prototype.tryParseQuote = function (parentArgType) {\n if (this.isEOF() || this.char() !== 39 /* `'` */) {\n return null;\n }\n // Parse escaped char following the apostrophe, or early return if there is no escaped char.\n // Check if is valid escaped character\n switch (this.peek()) {\n case 39 /* `'` */:\n // double quote, should return as a single quote.\n this.bump();\n this.bump();\n return \"'\";\n // '{', '<', '>', '}'\n case 123:\n case 60:\n case 62:\n case 125:\n break;\n case 35: // '#'\n if (parentArgType === 'plural' || parentArgType === 'selectordinal') {\n break;\n }\n return null;\n default:\n return null;\n }\n this.bump(); // apostrophe\n var codePoints = [this.char()]; // escaped char\n this.bump();\n // read chars until the optional closing apostrophe is found\n while (!this.isEOF()) {\n var ch = this.char();\n if (ch === 39 /* `'` */) {\n if (this.peek() === 39 /* `'` */) {\n codePoints.push(39);\n // Bump one more time because we need to skip 2 characters.\n this.bump();\n }\n else {\n // Optional closing apostrophe.\n this.bump();\n break;\n }\n }\n else {\n codePoints.push(ch);\n }\n this.bump();\n }\n return fromCodePoint.apply(void 0, codePoints);\n };\n Parser.prototype.tryParseUnquoted = function (nestingLevel, parentArgType) {\n if (this.isEOF()) {\n return null;\n }\n var ch = this.char();\n if (ch === 60 /* `<` */ ||\n ch === 123 /* `{` */ ||\n (ch === 35 /* `#` */ &&\n (parentArgType === 'plural' || parentArgType === 'selectordinal')) ||\n (ch === 125 /* `}` */ && nestingLevel > 0)) {\n return null;\n }\n else {\n this.bump();\n return fromCodePoint(ch);\n }\n };\n Parser.prototype.parseArgument = function (nestingLevel, expectingCloseTag) {\n var openingBracePosition = this.clonePosition();\n this.bump(); // `{`\n this.bumpSpace();\n if (this.isEOF()) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n if (this.char() === 125 /* `}` */) {\n this.bump();\n return this.error(ErrorKind.EMPTY_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n }\n // argument name\n var value = this.parseIdentifierIfPossible().value;\n if (!value) {\n return this.error(ErrorKind.MALFORMED_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n }\n this.bumpSpace();\n if (this.isEOF()) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n switch (this.char()) {\n // Simple argument: `{name}`\n case 125 /* `}` */: {\n this.bump(); // `}`\n return {\n val: {\n type: TYPE.argument,\n // value does not include the opening and closing braces.\n value: value,\n location: createLocation(openingBracePosition, this.clonePosition()),\n },\n err: null,\n };\n }\n // Argument with options: `{name, format, ...}`\n case 44 /* `,` */: {\n this.bump(); // `,`\n this.bumpSpace();\n if (this.isEOF()) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n return this.parseArgumentOptions(nestingLevel, expectingCloseTag, value, openingBracePosition);\n }\n default:\n return this.error(ErrorKind.MALFORMED_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n }\n };\n /**\n * Advance the parser until the end of the identifier, if it is currently on\n * an identifier character. Return an empty string otherwise.\n */\n Parser.prototype.parseIdentifierIfPossible = function () {\n var startingPosition = this.clonePosition();\n var startOffset = this.offset();\n var value = matchIdentifierAtIndex(this.message, startOffset);\n var endOffset = startOffset + value.length;\n this.bumpTo(endOffset);\n var endPosition = this.clonePosition();\n var location = createLocation(startingPosition, endPosition);\n return { value: value, location: location };\n };\n Parser.prototype.parseArgumentOptions = function (nestingLevel, expectingCloseTag, value, openingBracePosition) {\n var _a;\n // Parse this range:\n // {name, type, style}\n // ^---^\n var typeStartPosition = this.clonePosition();\n var argType = this.parseIdentifierIfPossible().value;\n var typeEndPosition = this.clonePosition();\n switch (argType) {\n case '':\n // Expecting a style string number, date, time, plural, selectordinal, or select.\n return this.error(ErrorKind.EXPECT_ARGUMENT_TYPE, createLocation(typeStartPosition, typeEndPosition));\n case 'number':\n case 'date':\n case 'time': {\n // Parse this range:\n // {name, number, style}\n // ^-------^\n this.bumpSpace();\n var styleAndLocation = null;\n if (this.bumpIf(',')) {\n this.bumpSpace();\n var styleStartPosition = this.clonePosition();\n var result = this.parseSimpleArgStyleIfPossible();\n if (result.err) {\n return result;\n }\n var style = trimEnd(result.val);\n if (style.length === 0) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_STYLE, createLocation(this.clonePosition(), this.clonePosition()));\n }\n var styleLocation = createLocation(styleStartPosition, this.clonePosition());\n styleAndLocation = { style: style, styleLocation: styleLocation };\n }\n var argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n if (argCloseResult.err) {\n return argCloseResult;\n }\n var location_1 = createLocation(openingBracePosition, this.clonePosition());\n // Extract style or skeleton\n if (styleAndLocation && startsWith(styleAndLocation === null || styleAndLocation === void 0 ? void 0 : styleAndLocation.style, '::', 0)) {\n // Skeleton starts with `::`.\n var skeleton = trimStart(styleAndLocation.style.slice(2));\n if (argType === 'number') {\n var result = this.parseNumberSkeletonFromString(skeleton, styleAndLocation.styleLocation);\n if (result.err) {\n return result;\n }\n return {\n val: { type: TYPE.number, value: value, location: location_1, style: result.val },\n err: null,\n };\n }\n else {\n if (skeleton.length === 0) {\n return this.error(ErrorKind.EXPECT_DATE_TIME_SKELETON, location_1);\n }\n var dateTimePattern = skeleton;\n // Get \"best match\" pattern only if locale is passed, if not, let it\n // pass as-is where `parseDateTimeSkeleton()` will throw an error\n // for unsupported patterns.\n if (this.locale) {\n dateTimePattern = getBestPattern(skeleton, this.locale);\n }\n var style = {\n type: SKELETON_TYPE.dateTime,\n pattern: dateTimePattern,\n location: styleAndLocation.styleLocation,\n parsedOptions: this.shouldParseSkeletons\n ? parseDateTimeSkeleton(dateTimePattern)\n : {},\n };\n var type = argType === 'date' ? TYPE.date : TYPE.time;\n return {\n val: { type: type, value: value, location: location_1, style: style },\n err: null,\n };\n }\n }\n // Regular style or no style.\n return {\n val: {\n type: argType === 'number'\n ? TYPE.number\n : argType === 'date'\n ? TYPE.date\n : TYPE.time,\n value: value,\n location: location_1,\n style: (_a = styleAndLocation === null || styleAndLocation === void 0 ? void 0 : styleAndLocation.style) !== null && _a !== void 0 ? _a : null,\n },\n err: null,\n };\n }\n case 'plural':\n case 'selectordinal':\n case 'select': {\n // Parse this range:\n // {name, plural, options}\n // ^---------^\n var typeEndPosition_1 = this.clonePosition();\n this.bumpSpace();\n if (!this.bumpIf(',')) {\n return this.error(ErrorKind.EXPECT_SELECT_ARGUMENT_OPTIONS, createLocation(typeEndPosition_1, __assign({}, typeEndPosition_1)));\n }\n this.bumpSpace();\n // Parse offset:\n // {name, plural, offset:1, options}\n // ^-----^\n //\n // or the first option:\n //\n // {name, plural, one {...} other {...}}\n // ^--^\n var identifierAndLocation = this.parseIdentifierIfPossible();\n var pluralOffset = 0;\n if (argType !== 'select' && identifierAndLocation.value === 'offset') {\n if (!this.bumpIf(':')) {\n return this.error(ErrorKind.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE, createLocation(this.clonePosition(), this.clonePosition()));\n }\n this.bumpSpace();\n var result = this.tryParseDecimalInteger(ErrorKind.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE, ErrorKind.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE);\n if (result.err) {\n return result;\n }\n // Parse another identifier for option parsing\n this.bumpSpace();\n identifierAndLocation = this.parseIdentifierIfPossible();\n pluralOffset = result.val;\n }\n var optionsResult = this.tryParsePluralOrSelectOptions(nestingLevel, argType, expectingCloseTag, identifierAndLocation);\n if (optionsResult.err) {\n return optionsResult;\n }\n var argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n if (argCloseResult.err) {\n return argCloseResult;\n }\n var location_2 = createLocation(openingBracePosition, this.clonePosition());\n if (argType === 'select') {\n return {\n val: {\n type: TYPE.select,\n value: value,\n options: fromEntries(optionsResult.val),\n location: location_2,\n },\n err: null,\n };\n }\n else {\n return {\n val: {\n type: TYPE.plural,\n value: value,\n options: fromEntries(optionsResult.val),\n offset: pluralOffset,\n pluralType: argType === 'plural' ? 'cardinal' : 'ordinal',\n location: location_2,\n },\n err: null,\n };\n }\n }\n default:\n return this.error(ErrorKind.INVALID_ARGUMENT_TYPE, createLocation(typeStartPosition, typeEndPosition));\n }\n };\n Parser.prototype.tryParseArgumentClose = function (openingBracePosition) {\n // Parse: {value, number, ::currency/GBP }\n //\n if (this.isEOF() || this.char() !== 125 /* `}` */) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n this.bump(); // `}`\n return { val: true, err: null };\n };\n /**\n * See: https://github.com/unicode-org/icu/blob/af7ed1f6d2298013dc303628438ec4abe1f16479/icu4c/source/common/messagepattern.cpp#L659\n */\n Parser.prototype.parseSimpleArgStyleIfPossible = function () {\n var nestedBraces = 0;\n var startPosition = this.clonePosition();\n while (!this.isEOF()) {\n var ch = this.char();\n switch (ch) {\n case 39 /* `'` */: {\n // Treat apostrophe as quoting but include it in the style part.\n // Find the end of the quoted literal text.\n this.bump();\n var apostrophePosition = this.clonePosition();\n if (!this.bumpUntil(\"'\")) {\n return this.error(ErrorKind.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE, createLocation(apostrophePosition, this.clonePosition()));\n }\n this.bump();\n break;\n }\n case 123 /* `{` */: {\n nestedBraces += 1;\n this.bump();\n break;\n }\n case 125 /* `}` */: {\n if (nestedBraces > 0) {\n nestedBraces -= 1;\n }\n else {\n return {\n val: this.message.slice(startPosition.offset, this.offset()),\n err: null,\n };\n }\n break;\n }\n default:\n this.bump();\n break;\n }\n }\n return {\n val: this.message.slice(startPosition.offset, this.offset()),\n err: null,\n };\n };\n Parser.prototype.parseNumberSkeletonFromString = function (skeleton, location) {\n var tokens = [];\n try {\n tokens = parseNumberSkeletonFromString(skeleton);\n }\n catch (e) {\n return this.error(ErrorKind.INVALID_NUMBER_SKELETON, location);\n }\n return {\n val: {\n type: SKELETON_TYPE.number,\n tokens: tokens,\n location: location,\n parsedOptions: this.shouldParseSkeletons\n ? parseNumberSkeleton(tokens)\n : {},\n },\n err: null,\n };\n };\n /**\n * @param nesting_level The current nesting level of messages.\n * This can be positive when parsing message fragment in select or plural argument options.\n * @param parent_arg_type The parent argument's type.\n * @param parsed_first_identifier If provided, this is the first identifier-like selector of\n * the argument. It is a by-product of a previous parsing attempt.\n * @param expecting_close_tag If true, this message is directly or indirectly nested inside\n * between a pair of opening and closing tags. The nested message will not parse beyond\n * the closing tag boundary.\n */\n Parser.prototype.tryParsePluralOrSelectOptions = function (nestingLevel, parentArgType, expectCloseTag, parsedFirstIdentifier) {\n var _a;\n var hasOtherClause = false;\n var options = [];\n var parsedSelectors = new Set();\n var selector = parsedFirstIdentifier.value, selectorLocation = parsedFirstIdentifier.location;\n // Parse:\n // one {one apple}\n // ^--^\n while (true) {\n if (selector.length === 0) {\n var startPosition = this.clonePosition();\n if (parentArgType !== 'select' && this.bumpIf('=')) {\n // Try parse `={number}` selector\n var result = this.tryParseDecimalInteger(ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR, ErrorKind.INVALID_PLURAL_ARGUMENT_SELECTOR);\n if (result.err) {\n return result;\n }\n selectorLocation = createLocation(startPosition, this.clonePosition());\n selector = this.message.slice(startPosition.offset, this.offset());\n }\n else {\n break;\n }\n }\n // Duplicate selector clauses\n if (parsedSelectors.has(selector)) {\n return this.error(parentArgType === 'select'\n ? ErrorKind.DUPLICATE_SELECT_ARGUMENT_SELECTOR\n : ErrorKind.DUPLICATE_PLURAL_ARGUMENT_SELECTOR, selectorLocation);\n }\n if (selector === 'other') {\n hasOtherClause = true;\n }\n // Parse:\n // one {one apple}\n // ^----------^\n this.bumpSpace();\n var openingBracePosition = this.clonePosition();\n if (!this.bumpIf('{')) {\n return this.error(parentArgType === 'select'\n ? ErrorKind.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\n : ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT, createLocation(this.clonePosition(), this.clonePosition()));\n }\n var fragmentResult = this.parseMessage(nestingLevel + 1, parentArgType, expectCloseTag);\n if (fragmentResult.err) {\n return fragmentResult;\n }\n var argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n if (argCloseResult.err) {\n return argCloseResult;\n }\n options.push([\n selector,\n {\n value: fragmentResult.val,\n location: createLocation(openingBracePosition, this.clonePosition()),\n },\n ]);\n // Keep track of the existing selectors\n parsedSelectors.add(selector);\n // Prep next selector clause.\n this.bumpSpace();\n (_a = this.parseIdentifierIfPossible(), selector = _a.value, selectorLocation = _a.location);\n }\n if (options.length === 0) {\n return this.error(parentArgType === 'select'\n ? ErrorKind.EXPECT_SELECT_ARGUMENT_SELECTOR\n : ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR, createLocation(this.clonePosition(), this.clonePosition()));\n }\n if (this.requiresOtherClause && !hasOtherClause) {\n return this.error(ErrorKind.MISSING_OTHER_CLAUSE, createLocation(this.clonePosition(), this.clonePosition()));\n }\n return { val: options, err: null };\n };\n Parser.prototype.tryParseDecimalInteger = function (expectNumberError, invalidNumberError) {\n var sign = 1;\n var startingPosition = this.clonePosition();\n if (this.bumpIf('+')) {\n }\n else if (this.bumpIf('-')) {\n sign = -1;\n }\n var hasDigits = false;\n var decimal = 0;\n while (!this.isEOF()) {\n var ch = this.char();\n if (ch >= 48 /* `0` */ && ch <= 57 /* `9` */) {\n hasDigits = true;\n decimal = decimal * 10 + (ch - 48);\n this.bump();\n }\n else {\n break;\n }\n }\n var location = createLocation(startingPosition, this.clonePosition());\n if (!hasDigits) {\n return this.error(expectNumberError, location);\n }\n decimal *= sign;\n if (!isSafeInteger(decimal)) {\n return this.error(invalidNumberError, location);\n }\n return { val: decimal, err: null };\n };\n Parser.prototype.offset = function () {\n return this.position.offset;\n };\n Parser.prototype.isEOF = function () {\n return this.offset() === this.message.length;\n };\n Parser.prototype.clonePosition = function () {\n // This is much faster than `Object.assign` or spread.\n return {\n offset: this.position.offset,\n line: this.position.line,\n column: this.position.column,\n };\n };\n /**\n * Return the code point at the current position of the parser.\n * Throws if the index is out of bound.\n */\n Parser.prototype.char = function () {\n var offset = this.position.offset;\n if (offset >= this.message.length) {\n throw Error('out of bound');\n }\n var code = codePointAt(this.message, offset);\n if (code === undefined) {\n throw Error(\"Offset \".concat(offset, \" is at invalid UTF-16 code unit boundary\"));\n }\n return code;\n };\n Parser.prototype.error = function (kind, location) {\n return {\n val: null,\n err: {\n kind: kind,\n message: this.message,\n location: location,\n },\n };\n };\n /** Bump the parser to the next UTF-16 code unit. */\n Parser.prototype.bump = function () {\n if (this.isEOF()) {\n return;\n }\n var code = this.char();\n if (code === 10 /* '\\n' */) {\n this.position.line += 1;\n this.position.column = 1;\n this.position.offset += 1;\n }\n else {\n this.position.column += 1;\n // 0 ~ 0x10000 -> unicode BMP, otherwise skip the surrogate pair.\n this.position.offset += code < 0x10000 ? 1 : 2;\n }\n };\n /**\n * If the substring starting at the current position of the parser has\n * the given prefix, then bump the parser to the character immediately\n * following the prefix and return true. Otherwise, don't bump the parser\n * and return false.\n */\n Parser.prototype.bumpIf = function (prefix) {\n if (startsWith(this.message, prefix, this.offset())) {\n for (var i = 0; i < prefix.length; i++) {\n this.bump();\n }\n return true;\n }\n return false;\n };\n /**\n * Bump the parser until the pattern character is found and return `true`.\n * Otherwise bump to the end of the file and return `false`.\n */\n Parser.prototype.bumpUntil = function (pattern) {\n var currentOffset = this.offset();\n var index = this.message.indexOf(pattern, currentOffset);\n if (index >= 0) {\n this.bumpTo(index);\n return true;\n }\n else {\n this.bumpTo(this.message.length);\n return false;\n }\n };\n /**\n * Bump the parser to the target offset.\n * If target offset is beyond the end of the input, bump the parser to the end of the input.\n */\n Parser.prototype.bumpTo = function (targetOffset) {\n if (this.offset() > targetOffset) {\n throw Error(\"targetOffset \".concat(targetOffset, \" must be greater than or equal to the current offset \").concat(this.offset()));\n }\n targetOffset = Math.min(targetOffset, this.message.length);\n while (true) {\n var offset = this.offset();\n if (offset === targetOffset) {\n break;\n }\n if (offset > targetOffset) {\n throw Error(\"targetOffset \".concat(targetOffset, \" is at invalid UTF-16 code unit boundary\"));\n }\n this.bump();\n if (this.isEOF()) {\n break;\n }\n }\n };\n /** advance the parser through all whitespace to the next non-whitespace code unit. */\n Parser.prototype.bumpSpace = function () {\n while (!this.isEOF() && _isWhiteSpace(this.char())) {\n this.bump();\n }\n };\n /**\n * Peek at the *next* Unicode codepoint in the input without advancing the parser.\n * If the input has been exhausted, then this returns null.\n */\n Parser.prototype.peek = function () {\n if (this.isEOF()) {\n return null;\n }\n var code = this.char();\n var offset = this.offset();\n var nextCode = this.message.charCodeAt(offset + (code >= 0x10000 ? 2 : 1));\n return nextCode !== null && nextCode !== void 0 ? nextCode : null;\n };\n return Parser;\n}());\nexport { Parser };\n/**\n * This check if codepoint is alphabet (lower & uppercase)\n * @param codepoint\n * @returns\n */\nfunction _isAlpha(codepoint) {\n return ((codepoint >= 97 && codepoint <= 122) ||\n (codepoint >= 65 && codepoint <= 90));\n}\nfunction _isAlphaOrSlash(codepoint) {\n return _isAlpha(codepoint) || codepoint === 47; /* '/' */\n}\n/** See `parseTag` function docs. */\nfunction _isPotentialElementNameChar(c) {\n return (c === 45 /* '-' */ ||\n c === 46 /* '.' */ ||\n (c >= 48 && c <= 57) /* 0..9 */ ||\n c === 95 /* '_' */ ||\n (c >= 97 && c <= 122) /** a..z */ ||\n (c >= 65 && c <= 90) /* A..Z */ ||\n c == 0xb7 ||\n (c >= 0xc0 && c <= 0xd6) ||\n (c >= 0xd8 && c <= 0xf6) ||\n (c >= 0xf8 && c <= 0x37d) ||\n (c >= 0x37f && c <= 0x1fff) ||\n (c >= 0x200c && c <= 0x200d) ||\n (c >= 0x203f && c <= 0x2040) ||\n (c >= 0x2070 && c <= 0x218f) ||\n (c >= 0x2c00 && c <= 0x2fef) ||\n (c >= 0x3001 && c <= 0xd7ff) ||\n (c >= 0xf900 && c <= 0xfdcf) ||\n (c >= 0xfdf0 && c <= 0xfffd) ||\n (c >= 0x10000 && c <= 0xeffff));\n}\n/**\n * Code point equivalent of regex `\\p{White_Space}`.\n * From: https://www.unicode.org/Public/UCD/latest/ucd/PropList.txt\n */\nfunction _isWhiteSpace(c) {\n return ((c >= 0x0009 && c <= 0x000d) ||\n c === 0x0020 ||\n c === 0x0085 ||\n (c >= 0x200e && c <= 0x200f) ||\n c === 0x2028 ||\n c === 0x2029);\n}\n/**\n * Code point equivalent of regex `\\p{Pattern_Syntax}`.\n * See https://www.unicode.org/Public/UCD/latest/ucd/PropList.txt\n */\nfunction _isPatternSyntax(c) {\n return ((c >= 0x0021 && c <= 0x0023) ||\n c === 0x0024 ||\n (c >= 0x0025 && c <= 0x0027) ||\n c === 0x0028 ||\n c === 0x0029 ||\n c === 0x002a ||\n c === 0x002b ||\n c === 0x002c ||\n c === 0x002d ||\n (c >= 0x002e && c <= 0x002f) ||\n (c >= 0x003a && c <= 0x003b) ||\n (c >= 0x003c && c <= 0x003e) ||\n (c >= 0x003f && c <= 0x0040) ||\n c === 0x005b ||\n c === 0x005c ||\n c === 0x005d ||\n c === 0x005e ||\n c === 0x0060 ||\n c === 0x007b ||\n c === 0x007c ||\n c === 0x007d ||\n c === 0x007e ||\n c === 0x00a1 ||\n (c >= 0x00a2 && c <= 0x00a5) ||\n c === 0x00a6 ||\n c === 0x00a7 ||\n c === 0x00a9 ||\n c === 0x00ab ||\n c === 0x00ac ||\n c === 0x00ae ||\n c === 0x00b0 ||\n c === 0x00b1 ||\n c === 0x00b6 ||\n c === 0x00bb ||\n c === 0x00bf ||\n c === 0x00d7 ||\n c === 0x00f7 ||\n (c >= 0x2010 && c <= 0x2015) ||\n (c >= 0x2016 && c <= 0x2017) ||\n c === 0x2018 ||\n c === 0x2019 ||\n c === 0x201a ||\n (c >= 0x201b && c <= 0x201c) ||\n c === 0x201d ||\n c === 0x201e ||\n c === 0x201f ||\n (c >= 0x2020 && c <= 0x2027) ||\n (c >= 0x2030 && c <= 0x2038) ||\n c === 0x2039 ||\n c === 0x203a ||\n (c >= 0x203b && c <= 0x203e) ||\n (c >= 0x2041 && c <= 0x2043) ||\n c === 0x2044 ||\n c === 0x2045 ||\n c === 0x2046 ||\n (c >= 0x2047 && c <= 0x2051) ||\n c === 0x2052 ||\n c === 0x2053 ||\n (c >= 0x2055 && c <= 0x205e) ||\n (c >= 0x2190 && c <= 0x2194) ||\n (c >= 0x2195 && c <= 0x2199) ||\n (c >= 0x219a && c <= 0x219b) ||\n (c >= 0x219c && c <= 0x219f) ||\n c === 0x21a0 ||\n (c >= 0x21a1 && c <= 0x21a2) ||\n c === 0x21a3 ||\n (c >= 0x21a4 && c <= 0x21a5) ||\n c === 0x21a6 ||\n (c >= 0x21a7 && c <= 0x21ad) ||\n c === 0x21ae ||\n (c >= 0x21af && c <= 0x21cd) ||\n (c >= 0x21ce && c <= 0x21cf) ||\n (c >= 0x21d0 && c <= 0x21d1) ||\n c === 0x21d2 ||\n c === 0x21d3 ||\n c === 0x21d4 ||\n (c >= 0x21d5 && c <= 0x21f3) ||\n (c >= 0x21f4 && c <= 0x22ff) ||\n (c >= 0x2300 && c <= 0x2307) ||\n c === 0x2308 ||\n c === 0x2309 ||\n c === 0x230a ||\n c === 0x230b ||\n (c >= 0x230c && c <= 0x231f) ||\n (c >= 0x2320 && c <= 0x2321) ||\n (c >= 0x2322 && c <= 0x2328) ||\n c === 0x2329 ||\n c === 0x232a ||\n (c >= 0x232b && c <= 0x237b) ||\n c === 0x237c ||\n (c >= 0x237d && c <= 0x239a) ||\n (c >= 0x239b && c <= 0x23b3) ||\n (c >= 0x23b4 && c <= 0x23db) ||\n (c >= 0x23dc && c <= 0x23e1) ||\n (c >= 0x23e2 && c <= 0x2426) ||\n (c >= 0x2427 && c <= 0x243f) ||\n (c >= 0x2440 && c <= 0x244a) ||\n (c >= 0x244b && c <= 0x245f) ||\n (c >= 0x2500 && c <= 0x25b6) ||\n c === 0x25b7 ||\n (c >= 0x25b8 && c <= 0x25c0) ||\n c === 0x25c1 ||\n (c >= 0x25c2 && c <= 0x25f7) ||\n (c >= 0x25f8 && c <= 0x25ff) ||\n (c >= 0x2600 && c <= 0x266e) ||\n c === 0x266f ||\n (c >= 0x2670 && c <= 0x2767) ||\n c === 0x2768 ||\n c === 0x2769 ||\n c === 0x276a ||\n c === 0x276b ||\n c === 0x276c ||\n c === 0x276d ||\n c === 0x276e ||\n c === 0x276f ||\n c === 0x2770 ||\n c === 0x2771 ||\n c === 0x2772 ||\n c === 0x2773 ||\n c === 0x2774 ||\n c === 0x2775 ||\n (c >= 0x2794 && c <= 0x27bf) ||\n (c >= 0x27c0 && c <= 0x27c4) ||\n c === 0x27c5 ||\n c === 0x27c6 ||\n (c >= 0x27c7 && c <= 0x27e5) ||\n c === 0x27e6 ||\n c === 0x27e7 ||\n c === 0x27e8 ||\n c === 0x27e9 ||\n c === 0x27ea ||\n c === 0x27eb ||\n c === 0x27ec ||\n c === 0x27ed ||\n c === 0x27ee ||\n c === 0x27ef ||\n (c >= 0x27f0 && c <= 0x27ff) ||\n (c >= 0x2800 && c <= 0x28ff) ||\n (c >= 0x2900 && c <= 0x2982) ||\n c === 0x2983 ||\n c === 0x2984 ||\n c === 0x2985 ||\n c === 0x2986 ||\n c === 0x2987 ||\n c === 0x2988 ||\n c === 0x2989 ||\n c === 0x298a ||\n c === 0x298b ||\n c === 0x298c ||\n c === 0x298d ||\n c === 0x298e ||\n c === 0x298f ||\n c === 0x2990 ||\n c === 0x2991 ||\n c === 0x2992 ||\n c === 0x2993 ||\n c === 0x2994 ||\n c === 0x2995 ||\n c === 0x2996 ||\n c === 0x2997 ||\n c === 0x2998 ||\n (c >= 0x2999 && c <= 0x29d7) ||\n c === 0x29d8 ||\n c === 0x29d9 ||\n c === 0x29da ||\n c === 0x29db ||\n (c >= 0x29dc && c <= 0x29fb) ||\n c === 0x29fc ||\n c === 0x29fd ||\n (c >= 0x29fe && c <= 0x2aff) ||\n (c >= 0x2b00 && c <= 0x2b2f) ||\n (c >= 0x2b30 && c <= 0x2b44) ||\n (c >= 0x2b45 && c <= 0x2b46) ||\n (c >= 0x2b47 && c <= 0x2b4c) ||\n (c >= 0x2b4d && c <= 0x2b73) ||\n (c >= 0x2b74 && c <= 0x2b75) ||\n (c >= 0x2b76 && c <= 0x2b95) ||\n c === 0x2b96 ||\n (c >= 0x2b97 && c <= 0x2bff) ||\n (c >= 0x2e00 && c <= 0x2e01) ||\n c === 0x2e02 ||\n c === 0x2e03 ||\n c === 0x2e04 ||\n c === 0x2e05 ||\n (c >= 0x2e06 && c <= 0x2e08) ||\n c === 0x2e09 ||\n c === 0x2e0a ||\n c === 0x2e0b ||\n c === 0x2e0c ||\n c === 0x2e0d ||\n (c >= 0x2e0e && c <= 0x2e16) ||\n c === 0x2e17 ||\n (c >= 0x2e18 && c <= 0x2e19) ||\n c === 0x2e1a ||\n c === 0x2e1b ||\n c === 0x2e1c ||\n c === 0x2e1d ||\n (c >= 0x2e1e && c <= 0x2e1f) ||\n c === 0x2e20 ||\n c === 0x2e21 ||\n c === 0x2e22 ||\n c === 0x2e23 ||\n c === 0x2e24 ||\n c === 0x2e25 ||\n c === 0x2e26 ||\n c === 0x2e27 ||\n c === 0x2e28 ||\n c === 0x2e29 ||\n (c >= 0x2e2a && c <= 0x2e2e) ||\n c === 0x2e2f ||\n (c >= 0x2e30 && c <= 0x2e39) ||\n (c >= 0x2e3a && c <= 0x2e3b) ||\n (c >= 0x2e3c && c <= 0x2e3f) ||\n c === 0x2e40 ||\n c === 0x2e41 ||\n c === 0x2e42 ||\n (c >= 0x2e43 && c <= 0x2e4f) ||\n (c >= 0x2e50 && c <= 0x2e51) ||\n c === 0x2e52 ||\n (c >= 0x2e53 && c <= 0x2e7f) ||\n (c >= 0x3001 && c <= 0x3003) ||\n c === 0x3008 ||\n c === 0x3009 ||\n c === 0x300a ||\n c === 0x300b ||\n c === 0x300c ||\n c === 0x300d ||\n c === 0x300e ||\n c === 0x300f ||\n c === 0x3010 ||\n c === 0x3011 ||\n (c >= 0x3012 && c <= 0x3013) ||\n c === 0x3014 ||\n c === 0x3015 ||\n c === 0x3016 ||\n c === 0x3017 ||\n c === 0x3018 ||\n c === 0x3019 ||\n c === 0x301a ||\n c === 0x301b ||\n c === 0x301c ||\n c === 0x301d ||\n (c >= 0x301e && c <= 0x301f) ||\n c === 0x3020 ||\n c === 0x3030 ||\n c === 0xfd3e ||\n c === 0xfd3f ||\n (c >= 0xfe45 && c <= 0xfe46));\n}\n","import { timeData } from './time-data.generated';\n/**\n * Returns the best matching date time pattern if a date time skeleton\n * pattern is provided with a locale. Follows the Unicode specification:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#table-mapping-requested-time-skeletons-to-patterns\n * @param skeleton date time skeleton pattern that possibly includes j, J or C\n * @param locale\n */\nexport function getBestPattern(skeleton, locale) {\n var skeletonCopy = '';\n for (var patternPos = 0; patternPos < skeleton.length; patternPos++) {\n var patternChar = skeleton.charAt(patternPos);\n if (patternChar === 'j') {\n var extraLength = 0;\n while (patternPos + 1 < skeleton.length &&\n skeleton.charAt(patternPos + 1) === patternChar) {\n extraLength++;\n patternPos++;\n }\n var hourLen = 1 + (extraLength & 1);\n var dayPeriodLen = extraLength < 2 ? 1 : 3 + (extraLength >> 1);\n var dayPeriodChar = 'a';\n var hourChar = getDefaultHourSymbolFromLocale(locale);\n if (hourChar == 'H' || hourChar == 'k') {\n dayPeriodLen = 0;\n }\n while (dayPeriodLen-- > 0) {\n skeletonCopy += dayPeriodChar;\n }\n while (hourLen-- > 0) {\n skeletonCopy = hourChar + skeletonCopy;\n }\n }\n else if (patternChar === 'J') {\n skeletonCopy += 'H';\n }\n else {\n skeletonCopy += patternChar;\n }\n }\n return skeletonCopy;\n}\n/**\n * Maps the [hour cycle type](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/hourCycle)\n * of the given `locale` to the corresponding time pattern.\n * @param locale\n */\nfunction getDefaultHourSymbolFromLocale(locale) {\n var hourCycle = locale.hourCycle;\n if (hourCycle === undefined &&\n // @ts-ignore hourCycle(s) is not identified yet\n locale.hourCycles &&\n // @ts-ignore\n locale.hourCycles.length) {\n // @ts-ignore\n hourCycle = locale.hourCycles[0];\n }\n if (hourCycle) {\n switch (hourCycle) {\n case 'h24':\n return 'k';\n case 'h23':\n return 'H';\n case 'h12':\n return 'h';\n case 'h11':\n return 'K';\n default:\n throw new Error('Invalid hourCycle');\n }\n }\n // TODO: Once hourCycle is fully supported remove the following with data generation\n var languageTag = locale.language;\n var regionTag;\n if (languageTag !== 'root') {\n regionTag = locale.maximize().region;\n }\n var hourCycles = timeData[regionTag || ''] ||\n timeData[languageTag || ''] ||\n timeData[\"\".concat(languageTag, \"-001\")] ||\n timeData['001'];\n return hourCycles[0];\n}\n","import { __assign } from \"tslib\";\nimport { ErrorKind } from './error';\nimport { Parser } from './parser';\nimport { isDateElement, isDateTimeSkeleton, isNumberElement, isNumberSkeleton, isPluralElement, isSelectElement, isTagElement, isTimeElement, } from './types';\nfunction pruneLocation(els) {\n els.forEach(function (el) {\n delete el.location;\n if (isSelectElement(el) || isPluralElement(el)) {\n for (var k in el.options) {\n delete el.options[k].location;\n pruneLocation(el.options[k].value);\n }\n }\n else if (isNumberElement(el) && isNumberSkeleton(el.style)) {\n delete el.style.location;\n }\n else if ((isDateElement(el) || isTimeElement(el)) &&\n isDateTimeSkeleton(el.style)) {\n delete el.style.location;\n }\n else if (isTagElement(el)) {\n pruneLocation(el.children);\n }\n });\n}\nexport function parse(message, opts) {\n if (opts === void 0) { opts = {}; }\n opts = __assign({ shouldParseSkeletons: true, requiresOtherClause: true }, opts);\n var result = new Parser(message, opts).parse();\n if (result.err) {\n var error = SyntaxError(ErrorKind[result.err.kind]);\n // @ts-expect-error Assign to error object\n error.location = result.err.location;\n // @ts-expect-error Assign to error object\n error.originalMessage = result.err.message;\n throw error;\n }\n if (!(opts === null || opts === void 0 ? void 0 : opts.captureLocation)) {\n pruneLocation(result.val);\n }\n return result.val;\n}\nexport * from './types';\n","//\n// Main\n//\nexport default function memoize(fn, options) {\n var cache = options && options.cache ? options.cache : cacheDefault;\n var serializer = options && options.serializer ? options.serializer : serializerDefault;\n var strategy = options && options.strategy ? options.strategy : strategyDefault;\n return strategy(fn, {\n cache: cache,\n serializer: serializer,\n });\n}\n//\n// Strategy\n//\nfunction isPrimitive(value) {\n return (value == null || typeof value === 'number' || typeof value === 'boolean'); // || typeof value === \"string\" 'unsafe' primitive for our needs\n}\nfunction monadic(fn, cache, serializer, arg) {\n var cacheKey = isPrimitive(arg) ? arg : serializer(arg);\n var computedValue = cache.get(cacheKey);\n if (typeof computedValue === 'undefined') {\n computedValue = fn.call(this, arg);\n cache.set(cacheKey, computedValue);\n }\n return computedValue;\n}\nfunction variadic(fn, cache, serializer) {\n var args = Array.prototype.slice.call(arguments, 3);\n var cacheKey = serializer(args);\n var computedValue = cache.get(cacheKey);\n if (typeof computedValue === 'undefined') {\n computedValue = fn.apply(this, args);\n cache.set(cacheKey, computedValue);\n }\n return computedValue;\n}\nfunction assemble(fn, context, strategy, cache, serialize) {\n return strategy.bind(context, fn, cache, serialize);\n}\nfunction strategyDefault(fn, options) {\n var strategy = fn.length === 1 ? monadic : variadic;\n return assemble(fn, this, strategy, options.cache.create(), options.serializer);\n}\nfunction strategyVariadic(fn, options) {\n return assemble(fn, this, variadic, options.cache.create(), options.serializer);\n}\nfunction strategyMonadic(fn, options) {\n return assemble(fn, this, monadic, options.cache.create(), options.serializer);\n}\n//\n// Serializer\n//\nvar serializerDefault = function () {\n return JSON.stringify(arguments);\n};\n//\n// Cache\n//\nfunction ObjectWithoutPrototypeCache() {\n this.cache = Object.create(null);\n}\nObjectWithoutPrototypeCache.prototype.get = function (key) {\n return this.cache[key];\n};\nObjectWithoutPrototypeCache.prototype.set = function (key, value) {\n this.cache[key] = value;\n};\nvar cacheDefault = {\n create: function create() {\n // @ts-ignore\n return new ObjectWithoutPrototypeCache();\n },\n};\nexport var strategies = {\n variadic: strategyVariadic,\n monadic: strategyMonadic,\n};\n","import { __extends } from \"tslib\";\nexport var ErrorCode;\n(function (ErrorCode) {\n // When we have a placeholder but no value to format\n ErrorCode[\"MISSING_VALUE\"] = \"MISSING_VALUE\";\n // When value supplied is invalid\n ErrorCode[\"INVALID_VALUE\"] = \"INVALID_VALUE\";\n // When we need specific Intl API but it's not available\n ErrorCode[\"MISSING_INTL_API\"] = \"MISSING_INTL_API\";\n})(ErrorCode || (ErrorCode = {}));\nvar FormatError = /** @class */ (function (_super) {\n __extends(FormatError, _super);\n function FormatError(msg, code, originalMessage) {\n var _this = _super.call(this, msg) || this;\n _this.code = code;\n _this.originalMessage = originalMessage;\n return _this;\n }\n FormatError.prototype.toString = function () {\n return \"[formatjs Error: \".concat(this.code, \"] \").concat(this.message);\n };\n return FormatError;\n}(Error));\nexport { FormatError };\nvar InvalidValueError = /** @class */ (function (_super) {\n __extends(InvalidValueError, _super);\n function InvalidValueError(variableId, value, options, originalMessage) {\n return _super.call(this, \"Invalid values for \\\"\".concat(variableId, \"\\\": \\\"\").concat(value, \"\\\". Options are \\\"\").concat(Object.keys(options).join('\", \"'), \"\\\"\"), ErrorCode.INVALID_VALUE, originalMessage) || this;\n }\n return InvalidValueError;\n}(FormatError));\nexport { InvalidValueError };\nvar InvalidValueTypeError = /** @class */ (function (_super) {\n __extends(InvalidValueTypeError, _super);\n function InvalidValueTypeError(value, type, originalMessage) {\n return _super.call(this, \"Value for \\\"\".concat(value, \"\\\" must be of type \").concat(type), ErrorCode.INVALID_VALUE, originalMessage) || this;\n }\n return InvalidValueTypeError;\n}(FormatError));\nexport { InvalidValueTypeError };\nvar MissingValueError = /** @class */ (function (_super) {\n __extends(MissingValueError, _super);\n function MissingValueError(variableId, originalMessage) {\n return _super.call(this, \"The intl string context variable \\\"\".concat(variableId, \"\\\" was not provided to the string \\\"\").concat(originalMessage, \"\\\"\"), ErrorCode.MISSING_VALUE, originalMessage) || this;\n }\n return MissingValueError;\n}(FormatError));\nexport { MissingValueError };\n","import { isArgumentElement, isDateElement, isDateTimeSkeleton, isLiteralElement, isNumberElement, isNumberSkeleton, isPluralElement, isPoundElement, isSelectElement, isTimeElement, isTagElement, } from '@formatjs/icu-messageformat-parser';\nimport { MissingValueError, InvalidValueError, ErrorCode, FormatError, InvalidValueTypeError, } from './error';\nexport var PART_TYPE;\n(function (PART_TYPE) {\n PART_TYPE[PART_TYPE[\"literal\"] = 0] = \"literal\";\n PART_TYPE[PART_TYPE[\"object\"] = 1] = \"object\";\n})(PART_TYPE || (PART_TYPE = {}));\nfunction mergeLiteral(parts) {\n if (parts.length < 2) {\n return parts;\n }\n return parts.reduce(function (all, part) {\n var lastPart = all[all.length - 1];\n if (!lastPart ||\n lastPart.type !== PART_TYPE.literal ||\n part.type !== PART_TYPE.literal) {\n all.push(part);\n }\n else {\n lastPart.value += part.value;\n }\n return all;\n }, []);\n}\nexport function isFormatXMLElementFn(el) {\n return typeof el === 'function';\n}\n// TODO(skeleton): add skeleton support\nexport function formatToParts(els, locales, formatters, formats, values, currentPluralValue, \n// For debugging\noriginalMessage) {\n // Hot path for straight simple msg translations\n if (els.length === 1 && isLiteralElement(els[0])) {\n return [\n {\n type: PART_TYPE.literal,\n value: els[0].value,\n },\n ];\n }\n var result = [];\n for (var _i = 0, els_1 = els; _i < els_1.length; _i++) {\n var el = els_1[_i];\n // Exit early for string parts.\n if (isLiteralElement(el)) {\n result.push({\n type: PART_TYPE.literal,\n value: el.value,\n });\n continue;\n }\n // TODO: should this part be literal type?\n // Replace `#` in plural rules with the actual numeric value.\n if (isPoundElement(el)) {\n if (typeof currentPluralValue === 'number') {\n result.push({\n type: PART_TYPE.literal,\n value: formatters.getNumberFormat(locales).format(currentPluralValue),\n });\n }\n continue;\n }\n var varName = el.value;\n // Enforce that all required values are provided by the caller.\n if (!(values && varName in values)) {\n throw new MissingValueError(varName, originalMessage);\n }\n var value = values[varName];\n if (isArgumentElement(el)) {\n if (!value || typeof value === 'string' || typeof value === 'number') {\n value =\n typeof value === 'string' || typeof value === 'number'\n ? String(value)\n : '';\n }\n result.push({\n type: typeof value === 'string' ? PART_TYPE.literal : PART_TYPE.object,\n value: value,\n });\n continue;\n }\n // Recursively format plural and select parts' option — which can be a\n // nested pattern structure. The choosing of the option to use is\n // abstracted-by and delegated-to the part helper object.\n if (isDateElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.date[el.style]\n : isDateTimeSkeleton(el.style)\n ? el.style.parsedOptions\n : undefined;\n result.push({\n type: PART_TYPE.literal,\n value: formatters\n .getDateTimeFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isTimeElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.time[el.style]\n : isDateTimeSkeleton(el.style)\n ? el.style.parsedOptions\n : formats.time.medium;\n result.push({\n type: PART_TYPE.literal,\n value: formatters\n .getDateTimeFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isNumberElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.number[el.style]\n : isNumberSkeleton(el.style)\n ? el.style.parsedOptions\n : undefined;\n if (style && style.scale) {\n value =\n value *\n (style.scale || 1);\n }\n result.push({\n type: PART_TYPE.literal,\n value: formatters\n .getNumberFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isTagElement(el)) {\n var children = el.children, value_1 = el.value;\n var formatFn = values[value_1];\n if (!isFormatXMLElementFn(formatFn)) {\n throw new InvalidValueTypeError(value_1, 'function', originalMessage);\n }\n var parts = formatToParts(children, locales, formatters, formats, values, currentPluralValue);\n var chunks = formatFn(parts.map(function (p) { return p.value; }));\n if (!Array.isArray(chunks)) {\n chunks = [chunks];\n }\n result.push.apply(result, chunks.map(function (c) {\n return {\n type: typeof c === 'string' ? PART_TYPE.literal : PART_TYPE.object,\n value: c,\n };\n }));\n }\n if (isSelectElement(el)) {\n var opt = el.options[value] || el.options.other;\n if (!opt) {\n throw new InvalidValueError(el.value, value, Object.keys(el.options), originalMessage);\n }\n result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values));\n continue;\n }\n if (isPluralElement(el)) {\n var opt = el.options[\"=\".concat(value)];\n if (!opt) {\n if (!Intl.PluralRules) {\n throw new FormatError(\"Intl.PluralRules is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-pluralrules\\\"\\n\", ErrorCode.MISSING_INTL_API, originalMessage);\n }\n var rule = formatters\n .getPluralRules(locales, { type: el.pluralType })\n .select(value - (el.offset || 0));\n opt = el.options[rule] || el.options.other;\n }\n if (!opt) {\n throw new InvalidValueError(el.value, value, Object.keys(el.options), originalMessage);\n }\n result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values, value - (el.offset || 0)));\n continue;\n }\n }\n return mergeLiteral(result);\n}\n","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nimport { __assign, __spreadArray } from \"tslib\";\nimport { parse } from '@formatjs/icu-messageformat-parser';\nimport memoize, { strategies } from '@formatjs/fast-memoize';\nimport { formatToParts, PART_TYPE, } from './formatters';\n// -- MessageFormat --------------------------------------------------------\nfunction mergeConfig(c1, c2) {\n if (!c2) {\n return c1;\n }\n return __assign(__assign(__assign({}, (c1 || {})), (c2 || {})), Object.keys(c1).reduce(function (all, k) {\n all[k] = __assign(__assign({}, c1[k]), (c2[k] || {}));\n return all;\n }, {}));\n}\nfunction mergeConfigs(defaultConfig, configs) {\n if (!configs) {\n return defaultConfig;\n }\n return Object.keys(defaultConfig).reduce(function (all, k) {\n all[k] = mergeConfig(defaultConfig[k], configs[k]);\n return all;\n }, __assign({}, defaultConfig));\n}\nfunction createFastMemoizeCache(store) {\n return {\n create: function () {\n return {\n get: function (key) {\n return store[key];\n },\n set: function (key, value) {\n store[key] = value;\n },\n };\n },\n };\n}\nfunction createDefaultFormatters(cache) {\n if (cache === void 0) { cache = {\n number: {},\n dateTime: {},\n pluralRules: {},\n }; }\n return {\n getNumberFormat: memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.NumberFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.number),\n strategy: strategies.variadic,\n }),\n getDateTimeFormat: memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.DateTimeFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.dateTime),\n strategy: strategies.variadic,\n }),\n getPluralRules: memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.PluralRules).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.pluralRules),\n strategy: strategies.variadic,\n }),\n };\n}\nvar IntlMessageFormat = /** @class */ (function () {\n function IntlMessageFormat(message, locales, overrideFormats, opts) {\n var _this = this;\n if (locales === void 0) { locales = IntlMessageFormat.defaultLocale; }\n this.formatterCache = {\n number: {},\n dateTime: {},\n pluralRules: {},\n };\n this.format = function (values) {\n var parts = _this.formatToParts(values);\n // Hot path for straight simple msg translations\n if (parts.length === 1) {\n return parts[0].value;\n }\n var result = parts.reduce(function (all, part) {\n if (!all.length ||\n part.type !== PART_TYPE.literal ||\n typeof all[all.length - 1] !== 'string') {\n all.push(part.value);\n }\n else {\n all[all.length - 1] += part.value;\n }\n return all;\n }, []);\n if (result.length <= 1) {\n return result[0] || '';\n }\n return result;\n };\n this.formatToParts = function (values) {\n return formatToParts(_this.ast, _this.locales, _this.formatters, _this.formats, values, undefined, _this.message);\n };\n this.resolvedOptions = function () { return ({\n locale: _this.resolvedLocale.toString(),\n }); };\n this.getAst = function () { return _this.ast; };\n // Defined first because it's used to build the format pattern.\n this.locales = locales;\n this.resolvedLocale = IntlMessageFormat.resolveLocale(locales);\n if (typeof message === 'string') {\n this.message = message;\n if (!IntlMessageFormat.__parse) {\n throw new TypeError('IntlMessageFormat.__parse must be set to process `message` of type `string`');\n }\n // Parse string messages into an AST.\n this.ast = IntlMessageFormat.__parse(message, {\n ignoreTag: opts === null || opts === void 0 ? void 0 : opts.ignoreTag,\n locale: this.resolvedLocale,\n });\n }\n else {\n this.ast = message;\n }\n if (!Array.isArray(this.ast)) {\n throw new TypeError('A message must be provided as a String or AST.');\n }\n // Creates a new object with the specified `formats` merged with the default\n // formats.\n this.formats = mergeConfigs(IntlMessageFormat.formats, overrideFormats);\n this.formatters =\n (opts && opts.formatters) || createDefaultFormatters(this.formatterCache);\n }\n Object.defineProperty(IntlMessageFormat, \"defaultLocale\", {\n get: function () {\n if (!IntlMessageFormat.memoizedDefaultLocale) {\n IntlMessageFormat.memoizedDefaultLocale =\n new Intl.NumberFormat().resolvedOptions().locale;\n }\n return IntlMessageFormat.memoizedDefaultLocale;\n },\n enumerable: false,\n configurable: true\n });\n IntlMessageFormat.memoizedDefaultLocale = null;\n IntlMessageFormat.resolveLocale = function (locales) {\n var supportedLocales = Intl.NumberFormat.supportedLocalesOf(locales);\n if (supportedLocales.length > 0) {\n return new Intl.Locale(supportedLocales[0]);\n }\n return new Intl.Locale(typeof locales === 'string' ? locales : locales[0]);\n };\n IntlMessageFormat.__parse = parse;\n // Default format options used as the prototype of the `formats` provided to the\n // constructor. These are used when constructing the internal Intl.NumberFormat\n // and Intl.DateTimeFormat instances.\n IntlMessageFormat.formats = {\n number: {\n integer: {\n maximumFractionDigits: 0,\n },\n currency: {\n style: 'currency',\n },\n percent: {\n style: 'percent',\n },\n },\n date: {\n short: {\n month: 'numeric',\n day: 'numeric',\n year: '2-digit',\n },\n medium: {\n month: 'short',\n day: 'numeric',\n year: 'numeric',\n },\n long: {\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n },\n full: {\n weekday: 'long',\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n },\n },\n time: {\n short: {\n hour: 'numeric',\n minute: 'numeric',\n },\n medium: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n },\n long: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n timeZoneName: 'short',\n },\n full: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n timeZoneName: 'short',\n },\n },\n };\n return IntlMessageFormat;\n}());\nexport { IntlMessageFormat };\n","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nimport { IntlMessageFormat } from './src/core';\nexport * from './src/formatters';\nexport * from './src/core';\nexport * from './src/error';\nexport default IntlMessageFormat;\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\nexport type LocalizedStrings = {\n [lang: string]: {\n [key: string]: string\n }\n};\n\n/**\n * Stores a mapping of localized strings. Can be used to find the\n * closest available string for a given locale.\n */\nexport class MessageDictionary {\n private messages: LocalizedStrings;\n private defaultLocale: string;\n\n constructor(messages: LocalizedStrings, defaultLocale: string = 'en-US') {\n // Clone messages so we don't modify the original object.\n this.messages = {...messages};\n this.defaultLocale = defaultLocale;\n }\n\n getStringForLocale(key: string, locale: string) {\n let strings = this.messages[locale];\n if (!strings) {\n strings = getStringsForLocale(locale, this.messages, this.defaultLocale);\n this.messages[locale] = strings;\n }\n\n let string = strings[key];\n if (!string) {\n throw new Error(`Could not find intl message ${key} in ${locale} locale`);\n }\n\n return string;\n }\n}\n\nfunction getStringsForLocale(locale: string, strings: LocalizedStrings, defaultLocale = 'en-US') {\n // If there is an exact match, use it.\n if (strings[locale]) {\n return strings[locale];\n }\n\n // Attempt to find the closest match by language.\n // For example, if the locale is fr-CA (French Canadian), but there is only\n // an fr-FR (France) set of strings, use that.\n // This could be replaced with Intl.LocaleMatcher once it is supported.\n // https://github.com/tc39/proposal-intl-localematcher\n let language = getLanguage(locale);\n for (let key in strings) {\n if (key.startsWith(language + '-')) {\n return strings[key];\n }\n }\n\n // Nothing close, use english.\n return strings[defaultLocale];\n}\n\nfunction getLanguage(locale: string) {\n // @ts-ignore\n if (Intl.Locale) {\n // @ts-ignore\n return new Intl.Locale(locale).language;\n }\n\n return locale.split('-')[0];\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\nimport {FormatXMLElementFn, PrimitiveType} from 'intl-messageformat/src/formatters';\nimport IntlMessageFormat from 'intl-messageformat';\nimport {MessageDictionary} from './MessageDictionary';\n\n/**\n * Formats ICU Message strings to create localized strings from a MessageDictionary.\n */\nexport class MessageFormatter {\n private locale: string;\n private messages: MessageDictionary;\n private cache: {[key: string]: IntlMessageFormat};\n\n constructor(locale: string, messages: MessageDictionary) {\n this.locale = locale;\n this.messages = messages;\n this.cache = {};\n }\n\n format(key: string, variables: Record> | undefined) {\n let message = this.cache[key];\n if (!message) {\n let msg = this.messages.getStringForLocale(key, this.locale);\n if (!msg) {\n throw new Error(`Could not find intl message ${key} in ${this.locale} locale`);\n }\n\n message = new IntlMessageFormat(msg, this.locale);\n this.cache[key] = message;\n }\n let varCopy: Record> | undefined;\n if (variables) {\n varCopy = Object.keys(variables).reduce((acc, key) => {\n acc[key] = variables[key] == null ? false : variables[key];\n return acc;\n }, {});\n }\n\n return message.format(varCopy);\n }\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\nimport {AnyCalendarDate, AnyTime} from './types';\nimport {CalendarDate, CalendarDateTime, ZonedDateTime} from './CalendarDate';\nimport {fromAbsolute, toAbsolute, toCalendar, toCalendarDate} from './conversion';\nimport {weekStartData} from './weekStartData';\n\ntype DateValue = CalendarDate | CalendarDateTime | ZonedDateTime;\n\n/** Returns whether the given dates occur on the same day, regardless of the time or calendar system. */\nexport function isSameDay(a: DateValue, b: DateValue): boolean {\n b = toCalendar(b, a.calendar);\n return a.era === b.era && a.year === b.year && a.month === b.month && a.day === b.day;\n}\n\n/** Returns whether the given dates occur in the same month, using the calendar system of the first date. */\nexport function isSameMonth(a: DateValue, b: DateValue): boolean {\n b = toCalendar(b, a.calendar);\n // In the Japanese calendar, months can span multiple eras/years, so only compare the first of the month.\n a = startOfMonth(a);\n b = startOfMonth(b);\n return a.era === b.era && a.year === b.year && a.month === b.month;\n}\n\n/** Returns whether the given dates occur in the same year, using the calendar system of the first date. */\nexport function isSameYear(a: DateValue, b: DateValue): boolean {\n b = toCalendar(b, a.calendar);\n a = startOfYear(a);\n b = startOfYear(b);\n return a.era === b.era && a.year === b.year;\n}\n\n/** Returns whether the given dates occur on the same day, and are of the same calendar system. */\nexport function isEqualDay(a: DateValue, b: DateValue): boolean {\n return a.calendar.identifier === b.calendar.identifier && a.era === b.era && a.year === b.year && a.month === b.month && a.day === b.day;\n}\n\n/** Returns whether the given dates occur in the same month, and are of the same calendar system. */\nexport function isEqualMonth(a: DateValue, b: DateValue): boolean {\n a = startOfMonth(a);\n b = startOfMonth(b);\n return a.calendar.identifier === b.calendar.identifier && a.era === b.era && a.year === b.year && a.month === b.month;\n}\n\n/** Returns whether the given dates occur in the same year, and are of the same calendar system. */\nexport function isEqualYear(a: DateValue, b: DateValue): boolean {\n a = startOfYear(a);\n b = startOfYear(b);\n return a.calendar.identifier === b.calendar.identifier && a.era === b.era && a.year === b.year;\n}\n\n/** Returns whether the date is today in the given time zone. */\nexport function isToday(date: DateValue, timeZone: string): boolean {\n return isSameDay(date, today(timeZone));\n}\n\n/**\n * Returns the day of week for the given date and locale. Days are numbered from zero to six,\n * where zero is the first day of the week in the given locale. For example, in the United States,\n * the first day of the week is Sunday, but in France it is Monday.\n */\nexport function getDayOfWeek(date: DateValue, locale: string): number {\n let julian = date.calendar.toJulianDay(date);\n\n // If julian is negative, then julian % 7 will be negative, so we adjust\n // accordingly. Julian day 0 is Monday.\n let dayOfWeek = Math.ceil(julian + 1 - getWeekStart(locale)) % 7;\n if (dayOfWeek < 0) {\n dayOfWeek += 7;\n }\n\n return dayOfWeek;\n}\n\n/** Returns the current time in the given time zone. */\nexport function now(timeZone: string): ZonedDateTime {\n return fromAbsolute(Date.now(), timeZone);\n}\n\n/** Returns today's date in the given time zone. */\nexport function today(timeZone: string): CalendarDate {\n return toCalendarDate(now(timeZone));\n}\n\nexport function compareDate(a: AnyCalendarDate, b: AnyCalendarDate): number {\n return a.calendar.toJulianDay(a) - b.calendar.toJulianDay(b);\n}\n\nexport function compareTime(a: AnyTime, b: AnyTime): number {\n return timeToMs(a) - timeToMs(b);\n}\n\nfunction timeToMs(a: AnyTime): number {\n return a.hour * 60 * 60 * 1000 + a.minute * 60 * 1000 + a.second * 1000 + a.millisecond;\n}\n\n/**\n * Returns the number of hours in the given date and time zone.\n * Usually this is 24, but it could be 23 or 25 if the date is on a daylight saving transition.\n */\nexport function getHoursInDay(a: CalendarDate, timeZone: string): number {\n let ms = toAbsolute(a, timeZone);\n let tomorrow = a.add({days: 1});\n let tomorrowMs = toAbsolute(tomorrow, timeZone);\n return (tomorrowMs - ms) / 3600000;\n}\n\nlet localTimeZone = null;\n\n/** Returns the time zone identifier for the current user. */\nexport function getLocalTimeZone(): string {\n // TODO: invalidate this somehow?\n if (localTimeZone == null) {\n localTimeZone = new Intl.DateTimeFormat().resolvedOptions().timeZone;\n }\n\n return localTimeZone;\n}\n\n/** Returns the first date of the month for the given date. */\nexport function startOfMonth(date: ZonedDateTime): ZonedDateTime;\nexport function startOfMonth(date: CalendarDateTime): CalendarDateTime;\nexport function startOfMonth(date: CalendarDate): CalendarDate;\nexport function startOfMonth(date: DateValue): DateValue;\nexport function startOfMonth(date: DateValue): DateValue {\n // Use `subtract` instead of `set` so we don't get constrained in an era.\n return date.subtract({days: date.day - 1});\n}\n\n/** Returns the last date of the month for the given date. */\nexport function endOfMonth(date: ZonedDateTime): ZonedDateTime;\nexport function endOfMonth(date: CalendarDateTime): CalendarDateTime;\nexport function endOfMonth(date: CalendarDate): CalendarDate;\nexport function endOfMonth(date: DateValue): DateValue;\nexport function endOfMonth(date: DateValue): DateValue {\n return date.add({days: date.calendar.getDaysInMonth(date) - date.day});\n}\n\n/** Returns the first day of the year for the given date. */\nexport function startOfYear(date: ZonedDateTime): ZonedDateTime;\nexport function startOfYear(date: CalendarDateTime): CalendarDateTime;\nexport function startOfYear(date: CalendarDate): CalendarDate;\nexport function startOfYear(date: DateValue): DateValue;\nexport function startOfYear(date: DateValue): DateValue {\n return startOfMonth(date.subtract({months: date.month - 1}));\n}\n\n/** Returns the last day of the year for the given date. */\nexport function endOfYear(date: ZonedDateTime): ZonedDateTime;\nexport function endOfYear(date: CalendarDateTime): CalendarDateTime;\nexport function endOfYear(date: CalendarDate): CalendarDate;\nexport function endOfYear(date: DateValue): DateValue;\nexport function endOfYear(date: DateValue): DateValue {\n return endOfMonth(date.add({months: date.calendar.getMonthsInYear(date) - date.month}));\n}\n\nexport function getMinimumMonthInYear(date: AnyCalendarDate) {\n if (date.calendar.getMinimumMonthInYear) {\n return date.calendar.getMinimumMonthInYear(date);\n }\n\n return 1;\n}\n\nexport function getMinimumDayInMonth(date: AnyCalendarDate) {\n if (date.calendar.getMinimumDayInMonth) {\n return date.calendar.getMinimumDayInMonth(date);\n }\n\n return 1;\n}\n\n/** Returns the first date of the week for the given date and locale. */\nexport function startOfWeek(date: ZonedDateTime, locale: string): ZonedDateTime;\nexport function startOfWeek(date: CalendarDateTime, locale: string): CalendarDateTime;\nexport function startOfWeek(date: CalendarDate, locale: string): CalendarDate;\nexport function startOfWeek(date: DateValue, locale: string): DateValue;\nexport function startOfWeek(date: DateValue, locale: string): DateValue {\n let dayOfWeek = getDayOfWeek(date, locale);\n return date.subtract({days: dayOfWeek});\n}\n\n/** Returns the last date of the week for the given date and locale. */\nexport function endOfWeek(date: ZonedDateTime, locale: string): ZonedDateTime;\nexport function endOfWeek(date: CalendarDateTime, locale: string): CalendarDateTime;\nexport function endOfWeek(date: CalendarDate, locale: string): CalendarDate;\nexport function endOfWeek(date: DateValue, locale: string): DateValue {\n return startOfWeek(date, locale).add({days: 6});\n}\n\nconst cachedRegions = new Map();\n\nfunction getRegion(locale: string) {\n // If the Intl.Locale API is available, use it to get the region for the locale.\n // @ts-ignore\n if (Intl.Locale) {\n // Constructing an Intl.Locale is expensive, so cache the result.\n let region = cachedRegions.get(locale);\n if (!region) {\n // @ts-ignore\n region = new Intl.Locale(locale).maximize().region;\n cachedRegions.set(locale, region);\n }\n return region;\n }\n\n // If not, just try splitting the string.\n // If the second part of the locale string is 'u',\n // then this is a unicode extension, so ignore it.\n // Otherwise, it should be the region.\n let part = locale.split('-')[1];\n return part === 'u' ? null : part;\n}\n\nfunction getWeekStart(locale: string) {\n // TODO: use Intl.Locale for this once browsers support the weekInfo property\n // https://github.com/tc39/proposal-intl-locale-info\n let region = getRegion(locale);\n return weekStartData[region] || 0;\n}\n\n/** Returns the number of weeks in the given month and locale. */\nexport function getWeeksInMonth(date: DateValue, locale: string): number {\n let days = date.calendar.getDaysInMonth(date);\n return Math.ceil((getDayOfWeek(startOfMonth(date), locale) + days) / 7);\n}\n\n/** Returns the lesser of the two provider dates. */\nexport function minDate(a: A, b: B): A | B {\n if (a && b) {\n return a.compare(b) <= 0 ? a : b;\n }\n\n return a || b;\n}\n\n/** Returns the greater of the two provider dates. */\nexport function maxDate(a: A, b: B): A | B {\n if (a && b) {\n return a.compare(b) >= 0 ? a : b;\n }\n\n return a || b;\n}\n\nconst WEEKEND_DATA = {\n AF: [4, 5],\n AE: [5, 6],\n BH: [5, 6],\n DZ: [5, 6],\n EG: [5, 6],\n IL: [5, 6],\n IQ: [5, 6],\n IR: [5, 5],\n JO: [5, 6],\n KW: [5, 6],\n LY: [5, 6],\n OM: [5, 6],\n QA: [5, 6],\n SA: [5, 6],\n SD: [5, 6],\n SY: [5, 6],\n YE: [5, 6]\n};\n\n/** Returns whether the given date is on a weekend in the given locale. */\nexport function isWeekend(date: DateValue, locale: string): boolean {\n let julian = date.calendar.toJulianDay(date);\n\n // If julian is negative, then julian % 7 will be negative, so we adjust\n // accordingly. Julian day 0 is Monday.\n let dayOfWeek = Math.ceil(julian + 1) % 7;\n if (dayOfWeek < 0) {\n dayOfWeek += 7;\n }\n\n let region = getRegion(locale);\n // Use Intl.Locale for this once weekInfo is supported.\n // https://github.com/tc39/proposal-intl-locale-info\n let [start, end] = WEEKEND_DATA[region] || [6, 0];\n return dayOfWeek === start || dayOfWeek === end;\n}\n\n/** Returns whether the given date is on a weekday in the given locale. */\nexport function isWeekday(date: DateValue, locale: string): boolean {\n return !isWeekend(date, locale);\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// Portions of the code in this file are based on code from the TC39 Temporal proposal.\n// Original licensing can be found in the NOTICE file in the root directory of this source tree.\n\nimport {AnyCalendarDate, AnyDateTime, AnyTime, Calendar, DateFields, Disambiguation, TimeFields} from './types';\nimport {CalendarDate, CalendarDateTime, Time, ZonedDateTime} from './CalendarDate';\nimport {getLocalTimeZone} from './queries';\nimport {GregorianCalendar} from './calendars/GregorianCalendar';\nimport {Mutable} from './utils';\n\nexport function epochFromDate(date: AnyDateTime) {\n date = toCalendar(date, new GregorianCalendar());\n return epochFromParts(date.year, date.month, date.day, date.hour, date.minute, date.second, date.millisecond);\n}\n\nfunction epochFromParts(year: number, month: number, day: number, hour: number, minute: number, second: number, millisecond: number) {\n // Note: Date.UTC() interprets one and two-digit years as being in the\n // 20th century, so don't use it\n let date = new Date();\n date.setUTCHours(hour, minute, second, millisecond);\n date.setUTCFullYear(year, month - 1, day);\n return date.getTime();\n}\n\nexport function getTimeZoneOffset(ms: number, timeZone: string) {\n // Fast path: for local timezone, use native Date.\n if (timeZone === getLocalTimeZone()) {\n return new Date(ms).getTimezoneOffset() * -60 * 1000;\n }\n\n let {year, month, day, hour, minute, second} = getTimeZoneParts(ms, timeZone);\n let utc = epochFromParts(year, month, day, hour, minute, second, 0);\n return utc - Math.floor(ms / 1000) * 1000;\n}\n\nconst formattersByTimeZone = new Map();\n\nfunction getTimeZoneParts(ms: number, timeZone: string) {\n let formatter = formattersByTimeZone.get(timeZone);\n if (!formatter) {\n formatter = new Intl.DateTimeFormat('en-US', {\n timeZone,\n hour12: false,\n era: 'short',\n year: 'numeric',\n month: 'numeric',\n day: 'numeric',\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric'\n });\n\n formattersByTimeZone.set(timeZone, formatter);\n }\n\n let parts = formatter.formatToParts(new Date(ms));\n let namedParts: {[name: string]: string} = {};\n for (let part of parts) {\n if (part.type !== 'literal') {\n namedParts[part.type] = part.value;\n }\n }\n\n return {\n year: namedParts.era === 'BC' ? -namedParts.year + 1 : +namedParts.year,\n month: +namedParts.month,\n day: +namedParts.day,\n hour: namedParts.hour === '24' ? 0 : +namedParts.hour, // bugs.chromium.org/p/chromium/issues/detail?id=1045791\n minute: +namedParts.minute,\n second: +namedParts.second\n };\n}\n\nconst DAYMILLIS = 86400000;\n\nexport function possibleAbsolutes(date: CalendarDateTime, timeZone: string): number[] {\n let ms = epochFromDate(date);\n let earlier = ms - getTimeZoneOffset(ms - DAYMILLIS, timeZone);\n let later = ms - getTimeZoneOffset(ms + DAYMILLIS, timeZone);\n return getValidWallTimes(date, timeZone, earlier, later);\n}\n\nfunction getValidWallTimes(date: CalendarDateTime, timeZone: string, earlier: number, later: number): number[] {\n let found = earlier === later ? [earlier] : [earlier, later];\n return found.filter(absolute => isValidWallTime(date, timeZone, absolute));\n}\n\nfunction isValidWallTime(date: CalendarDateTime, timeZone: string, absolute: number) {\n let parts = getTimeZoneParts(absolute, timeZone);\n return date.year === parts.year\n && date.month === parts.month\n && date.day === parts.day\n && date.hour === parts.hour\n && date.minute === parts.minute\n && date.second === parts.second;\n}\n\nexport function toAbsolute(date: CalendarDate | CalendarDateTime, timeZone: string, disambiguation: Disambiguation = 'compatible'): number {\n let dateTime = toCalendarDateTime(date);\n\n // Fast path: if the time zone is the local timezone and disambiguation is compatible, use native Date.\n if (timeZone === getLocalTimeZone() && disambiguation === 'compatible') {\n dateTime = toCalendar(dateTime, new GregorianCalendar());\n\n // Don't use Date constructor here because two-digit years are interpreted in the 20th century.\n let date = new Date();\n date.setFullYear(dateTime.year, dateTime.month - 1, dateTime.day);\n date.setHours(dateTime.hour, dateTime.minute, dateTime.second, dateTime.millisecond);\n return date.getTime();\n }\n\n let ms = epochFromDate(dateTime);\n let offsetBefore = getTimeZoneOffset(ms - DAYMILLIS, timeZone);\n let offsetAfter = getTimeZoneOffset(ms + DAYMILLIS, timeZone);\n let valid = getValidWallTimes(dateTime, timeZone, ms - offsetBefore, ms - offsetAfter);\n\n if (valid.length === 1) {\n return valid[0];\n }\n\n if (valid.length > 1) {\n switch (disambiguation) {\n // 'compatible' means 'earlier' for \"fall back\" transitions\n case 'compatible':\n case 'earlier':\n return valid[0];\n case 'later':\n return valid[valid.length - 1];\n case 'reject':\n throw new RangeError('Multiple possible absolute times found');\n }\n }\n\n switch (disambiguation) {\n case 'earlier':\n return Math.min(ms - offsetBefore, ms - offsetAfter);\n // 'compatible' means 'later' for \"spring forward\" transitions\n case 'compatible':\n case 'later':\n return Math.max(ms - offsetBefore, ms - offsetAfter);\n case 'reject':\n throw new RangeError('No such absolute time found');\n }\n}\n\nexport function toDate(dateTime: CalendarDate | CalendarDateTime, timeZone: string, disambiguation: Disambiguation = 'compatible'): Date {\n return new Date(toAbsolute(dateTime, timeZone, disambiguation));\n}\n\nexport function fromAbsolute(ms: number, timeZone: string): ZonedDateTime {\n let offset = getTimeZoneOffset(ms, timeZone);\n let date = new Date(ms + offset);\n let year = date.getUTCFullYear();\n let month = date.getUTCMonth() + 1;\n let day = date.getUTCDate();\n let hour = date.getUTCHours();\n let minute = date.getUTCMinutes();\n let second = date.getUTCSeconds();\n let millisecond = date.getUTCMilliseconds();\n\n return new ZonedDateTime(year, month, day, timeZone, offset, hour, minute, second, millisecond);\n}\n\nexport function fromDate(date: Date, timeZone: string): ZonedDateTime {\n return fromAbsolute(date.getTime(), timeZone);\n}\n\nexport function fromDateToLocal(date: Date): ZonedDateTime {\n return fromDate(date, getLocalTimeZone());\n}\n\n/** Converts a value with date components such as a `CalendarDateTime` or `ZonedDateTime` into a `CalendarDate`. */\nexport function toCalendarDate(dateTime: AnyCalendarDate): CalendarDate {\n return new CalendarDate(dateTime.calendar, dateTime.era, dateTime.year, dateTime.month, dateTime.day);\n}\n\nexport function toDateFields(date: AnyCalendarDate): DateFields {\n return {\n era: date.era,\n year: date.year,\n month: date.month,\n day: date.day\n };\n}\n\nexport function toTimeFields(date: AnyTime): TimeFields {\n return {\n hour: date.hour,\n minute: date.minute,\n second: date.second,\n millisecond: date.millisecond\n };\n}\n\n/**\n * Converts a date value to a `CalendarDateTime`. An optional `Time` value can be passed to set the time\n * of the resulting value, otherwise it will default to midnight.\n */\nexport function toCalendarDateTime(date: CalendarDate | CalendarDateTime | ZonedDateTime, time?: AnyTime): CalendarDateTime {\n let hour = 0, minute = 0, second = 0, millisecond = 0;\n if ('timeZone' in date) {\n ({hour, minute, second, millisecond} = date);\n } else if ('hour' in date && !time) {\n return date;\n }\n\n if (time) {\n ({hour, minute, second, millisecond} = time);\n }\n\n return new CalendarDateTime(\n date.calendar,\n date.era,\n date.year,\n date.month,\n date.day,\n hour,\n minute,\n second,\n millisecond\n );\n}\n\n/** Extracts the time components from a value containing a date and time. */\nexport function toTime(dateTime: CalendarDateTime | ZonedDateTime): Time {\n return new Time(dateTime.hour, dateTime.minute, dateTime.second, dateTime.millisecond);\n}\n\n/** Converts a date from one calendar system to another. */\nexport function toCalendar(date: T, calendar: Calendar): T {\n if (date.calendar.identifier === calendar.identifier) {\n return date;\n }\n\n let calendarDate = calendar.fromJulianDay(date.calendar.toJulianDay(date));\n let copy: Mutable = date.copy();\n copy.calendar = calendar;\n copy.era = calendarDate.era;\n copy.year = calendarDate.year;\n copy.month = calendarDate.month;\n copy.day = calendarDate.day;\n return copy;\n}\n\n/**\n * Converts a date value to a `ZonedDateTime` in the provided time zone. The `disambiguation` option can be set\n * to control how values that fall on daylight saving time changes are interpreted.\n */\nexport function toZoned(date: CalendarDate | CalendarDateTime | ZonedDateTime, timeZone: string, disambiguation?: Disambiguation): ZonedDateTime {\n if (date instanceof ZonedDateTime) {\n if (date.timeZone === timeZone) {\n return date;\n }\n\n return toTimeZone(date, timeZone);\n }\n\n let ms = toAbsolute(date, timeZone, disambiguation);\n return fromAbsolute(ms, timeZone);\n}\n\nexport function zonedToDate(date: ZonedDateTime) {\n let ms = epochFromDate(date) - date.offset;\n return new Date(ms);\n}\n\n/** Converts a `ZonedDateTime` from one time zone to another. */\nexport function toTimeZone(date: ZonedDateTime, timeZone: string): ZonedDateTime {\n let ms = epochFromDate(date) - date.offset;\n return toCalendar(fromAbsolute(ms, timeZone), date.calendar);\n}\n\n/** Converts the given `ZonedDateTime` into the user's local time zone. */\nexport function toLocalTimeZone(date: ZonedDateTime): ZonedDateTime {\n return toTimeZone(date, getLocalTimeZone());\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\nimport {add, addTime, addZoned, constrain, constrainTime, cycleDate, cycleTime, cycleZoned, set, setTime, setZoned, subtract, subtractTime, subtractZoned} from './manipulation';\nimport {AnyCalendarDate, AnyTime, Calendar, CycleOptions, CycleTimeOptions, DateDuration, DateField, DateFields, DateTimeDuration, Disambiguation, TimeDuration, TimeField, TimeFields} from './types';\nimport {compareDate, compareTime} from './queries';\nimport {dateTimeToString, dateToString, timeToString, zonedDateTimeToString} from './string';\nimport {GregorianCalendar} from './calendars/GregorianCalendar';\nimport {toCalendarDateTime, toDate, toZoned, zonedToDate} from './conversion';\n\nfunction shiftArgs(args: any[]) {\n let calendar: Calendar = typeof args[0] === 'object'\n ? args.shift()\n : new GregorianCalendar();\n\n let era: string;\n if (typeof args[0] === 'string') {\n era = args.shift();\n } else {\n let eras = calendar.getEras();\n era = eras[eras.length - 1];\n }\n\n let year = args.shift();\n let month = args.shift();\n let day = args.shift();\n\n return [calendar, era, year, month, day];\n}\n\n/** A CalendarDate represents a date without any time components in a specific calendar system. */\nexport class CalendarDate {\n // This prevents TypeScript from allowing other types with the same fields to match.\n // i.e. a ZonedDateTime should not be be passable to a parameter that expects CalendarDate.\n // If that behavior is desired, use the AnyCalendarDate interface instead.\n #type;\n /** The calendar system associated with this date, e.g. Gregorian. */\n public readonly calendar: Calendar;\n /** The calendar era for this date, e.g. \"BC\" or \"AD\". */\n public readonly era: string;\n /** The year of this date within the era. */\n public readonly year: number;\n /**\n * The month number within the year. Note that some calendar systems such as Hebrew\n * may have a variable number of months per year. Therefore, month numbers may not\n * always correspond to the same month names in different years.\n */\n public readonly month: number;\n /** The day number within the month. */\n public readonly day: number;\n\n constructor(year: number, month: number, day: number);\n constructor(era: string, year: number, month: number, day: number);\n constructor(calendar: Calendar, year: number, month: number, day: number);\n constructor(calendar: Calendar, era: string, year: number, month: number, day: number);\n constructor(...args: any[]) {\n let [calendar, era, year, month, day] = shiftArgs(args);\n this.calendar = calendar;\n this.era = era;\n this.year = year;\n this.month = month;\n this.day = day;\n\n constrain(this);\n }\n\n /** Returns a copy of this date. */\n copy(): CalendarDate {\n if (this.era) {\n return new CalendarDate(this.calendar, this.era, this.year, this.month, this.day);\n } else {\n return new CalendarDate(this.calendar, this.year, this.month, this.day);\n }\n }\n\n /** Returns a new `CalendarDate` with the given duration added to it. */\n add(duration: DateDuration): CalendarDate {\n return add(this, duration);\n }\n\n /** Returns a new `CalendarDate` with the given duration subtracted from it. */\n subtract(duration: DateDuration): CalendarDate {\n return subtract(this, duration);\n }\n\n /** Returns a new `CalendarDate` with the given fields set to the provided values. Other fields will be constrained accordingly. */\n set(fields: DateFields): CalendarDate {\n return set(this, fields);\n }\n\n /**\n * Returns a new `CalendarDate` with the given field adjusted by a specified amount.\n * When the resulting value reaches the limits of the field, it wraps around.\n */\n cycle(field: DateField, amount: number, options?: CycleOptions): CalendarDate {\n return cycleDate(this, field, amount, options);\n }\n\n /** Converts the date to a native JavaScript Date object, with the time set to midnight in the given time zone. */\n toDate(timeZone: string): Date {\n return toDate(this, timeZone);\n }\n\n /** Converts the date to an ISO 8601 formatted string. */\n toString(): string {\n return dateToString(this);\n }\n\n /** Compares this date with another. A negative result indicates that this date is before the given one, and a positive date indicates that it is after. */\n compare(b: AnyCalendarDate): number {\n return compareDate(this, b);\n }\n}\n\n/** A Time represents a clock time without any date components. */\nexport class Time {\n // This prevents TypeScript from allowing other types with the same fields to match.\n #type;\n /** The hour, numbered from 0 to 23. */\n public readonly hour: number;\n /** The minute in the hour. */\n public readonly minute: number;\n /** The second in the minute. */\n public readonly second: number;\n /** The millisecond in the second. */\n public readonly millisecond: number;\n\n constructor(\n hour: number = 0,\n minute: number = 0,\n second: number = 0,\n millisecond: number = 0\n ) {\n this.hour = hour;\n this.minute = minute;\n this.second = second;\n this.millisecond = millisecond;\n constrainTime(this);\n }\n\n /** Returns a copy of this time. */\n copy(): Time {\n return new Time(this.hour, this.minute, this.second, this.millisecond);\n }\n\n /** Returns a new `Time` with the given duration added to it. */\n add(duration: TimeDuration) {\n return addTime(this, duration);\n }\n\n /** Returns a new `Time` with the given duration subtracted from it. */\n subtract(duration: TimeDuration) {\n return subtractTime(this, duration);\n }\n\n /** Returns a new `Time` with the given fields set to the provided values. Other fields will be constrained accordingly. */\n set(fields: TimeFields) {\n return setTime(this, fields);\n }\n\n /**\n * Returns a new `Time` with the given field adjusted by a specified amount.\n * When the resulting value reaches the limits of the field, it wraps around.\n */\n cycle(field: TimeField, amount: number, options?: CycleTimeOptions) {\n return cycleTime(this, field, amount, options);\n }\n\n /** Converts the time to an ISO 8601 formatted string. */\n toString() {\n return timeToString(this);\n }\n\n /** Compares this time with another. A negative result indicates that this time is before the given one, and a positive time indicates that it is after. */\n compare(b: AnyTime) {\n return compareTime(this, b);\n }\n}\n\n/** A CalendarDateTime represents a date and time without a time zone, in a specific calendar system. */\nexport class CalendarDateTime {\n // This prevents TypeScript from allowing other types with the same fields to match.\n #type;\n /** The calendar system associated with this date, e.g. Gregorian. */\n public readonly calendar: Calendar;\n /** The calendar era for this date, e.g. \"BC\" or \"AD\". */\n public readonly era: string;\n /** The year of this date within the era. */\n public readonly year: number;\n /**\n * The month number within the year. Note that some calendar systems such as Hebrew\n * may have a variable number of months per year. Therefore, month numbers may not\n * always correspond to the same month names in different years.\n */\n public readonly month: number;\n /** The day number within the month. */\n public readonly day: number;\n /** The hour in the day, numbered from 0 to 23. */\n public readonly hour: number;\n /** The minute in the hour. */\n public readonly minute: number;\n /** The second in the minute. */\n public readonly second: number;\n /** The millisecond in the second. */\n public readonly millisecond: number;\n\n constructor(year: number, month: number, day: number, hour?: number, minute?: number, second?: number, millisecond?: number);\n constructor(era: string, year: number, month: number, day: number, hour?: number, minute?: number, second?: number, millisecond?: number);\n constructor(calendar: Calendar, year: number, month: number, day: number, hour?: number, minute?: number, second?: number, millisecond?: number);\n constructor(calendar: Calendar, era: string, year: number, month: number, day: number, hour?: number, minute?: number, second?: number, millisecond?: number);\n constructor(...args: any[]) {\n let [calendar, era, year, month, day] = shiftArgs(args);\n this.calendar = calendar;\n this.era = era;\n this.year = year;\n this.month = month;\n this.day = day;\n this.hour = args.shift() || 0;\n this.minute = args.shift() || 0;\n this.second = args.shift() || 0;\n this.millisecond = args.shift() || 0;\n\n constrain(this);\n }\n\n /** Returns a copy of this date. */\n copy(): CalendarDateTime {\n if (this.era) {\n return new CalendarDateTime(this.calendar, this.era, this.year, this.month, this.day, this.hour, this.minute, this.second, this.millisecond);\n } else {\n return new CalendarDateTime(this.calendar, this.year, this.month, this.day, this.hour, this.minute, this.second, this.millisecond);\n }\n }\n\n /** Returns a new `CalendarDateTime` with the given duration added to it. */\n add(duration: DateTimeDuration): CalendarDateTime {\n return add(this, duration);\n }\n\n /** Returns a new `CalendarDateTime` with the given duration subtracted from it. */\n subtract(duration: DateTimeDuration): CalendarDateTime {\n return subtract(this, duration);\n }\n\n /** Returns a new `CalendarDateTime` with the given fields set to the provided values. Other fields will be constrained accordingly. */\n set(fields: DateFields & TimeFields): CalendarDateTime {\n return set(setTime(this, fields), fields);\n }\n\n /**\n * Returns a new `CalendarDateTime` with the given field adjusted by a specified amount.\n * When the resulting value reaches the limits of the field, it wraps around.\n */\n cycle(field: DateField | TimeField, amount: number, options?: CycleTimeOptions): CalendarDateTime {\n switch (field) {\n case 'era':\n case 'year':\n case 'month':\n case 'day':\n return cycleDate(this, field, amount, options);\n default:\n return cycleTime(this, field, amount, options);\n }\n }\n\n /** Converts the date to a native JavaScript Date object in the given time zone. */\n toDate(timeZone: string, disambiguation?: Disambiguation): Date {\n return toDate(this, timeZone, disambiguation);\n }\n\n /** Converts the date to an ISO 8601 formatted string. */\n toString(): string {\n return dateTimeToString(this);\n }\n\n /** Compares this date with another. A negative result indicates that this date is before the given one, and a positive date indicates that it is after. */\n compare(b: CalendarDate | CalendarDateTime | ZonedDateTime): number {\n let res = compareDate(this, b);\n if (res === 0) {\n return compareTime(this, toCalendarDateTime(b));\n }\n\n return res;\n }\n}\n\n/** A ZonedDateTime represents a date and time in a specific time zone and calendar system. */\nexport class ZonedDateTime {\n // This prevents TypeScript from allowing other types with the same fields to match.\n #type;\n /** The calendar system associated with this date, e.g. Gregorian. */\n public readonly calendar: Calendar;\n /** The calendar era for this date, e.g. \"BC\" or \"AD\". */\n public readonly era: string;\n /** The year of this date within the era. */\n public readonly year: number;\n /**\n * The month number within the year. Note that some calendar systems such as Hebrew\n * may have a variable number of months per year. Therefore, month numbers may not\n * always correspond to the same month names in different years.\n */\n public readonly month: number;\n /** The day number within the month. */\n public readonly day: number;\n /** The hour in the day, numbered from 0 to 23. */\n public readonly hour: number;\n /** The minute in the hour. */\n public readonly minute: number;\n /** The second in the minute. */\n public readonly second: number;\n /** The millisecond in the second. */\n public readonly millisecond: number;\n /** The IANA time zone identifier that this date and time is represented in. */\n public readonly timeZone: string;\n /** The UTC offset for this time, in seconds. */\n public readonly offset: number;\n\n constructor(year: number, month: number, day: number, timeZone: string, offset: number, hour?: number, minute?: number, second?: number, millisecond?: number);\n constructor(era: string, year: number, month: number, day: number, timeZone: string, offset: number, hour?: number, minute?: number, second?: number, millisecond?: number);\n constructor(calendar: Calendar, year: number, month: number, day: number, timeZone: string, offset: number, hour?: number, minute?: number, second?: number, millisecond?: number);\n constructor(calendar: Calendar, era: string, year: number, month: number, day: number, timeZone: string, offset: number, hour?: number, minute?: number, second?: number, millisecond?: number);\n constructor(...args: any[]) {\n let [calendar, era, year, month, day] = shiftArgs(args);\n let timeZone = args.shift();\n let offset = args.shift();\n this.calendar = calendar;\n this.era = era;\n this.year = year;\n this.month = month;\n this.day = day;\n this.timeZone = timeZone;\n this.offset = offset;\n this.hour = args.shift() || 0;\n this.minute = args.shift() || 0;\n this.second = args.shift() || 0;\n this.millisecond = args.shift() || 0;\n\n constrain(this);\n }\n\n /** Returns a copy of this date. */\n copy(): ZonedDateTime {\n if (this.era) {\n return new ZonedDateTime(this.calendar, this.era, this.year, this.month, this.day, this.timeZone, this.offset, this.hour, this.minute, this.second, this.millisecond);\n } else {\n return new ZonedDateTime(this.calendar, this.year, this.month, this.day, this.timeZone, this.offset, this.hour, this.minute, this.second, this.millisecond);\n }\n }\n\n /** Returns a new `ZonedDateTime` with the given duration added to it. */\n add(duration: DateTimeDuration) {\n return addZoned(this, duration);\n }\n\n /** Returns a new `ZonedDateTime` with the given duration subtracted from it. */\n subtract(duration: DateTimeDuration) {\n return subtractZoned(this, duration);\n }\n\n /** Returns a new `ZonedDateTime` with the given fields set to the provided values. Other fields will be constrained accordingly. */\n set(fields: DateFields & TimeFields, disambiguation?: Disambiguation) {\n return setZoned(this, fields, disambiguation);\n }\n\n /**\n * Returns a new `ZonedDateTime` with the given field adjusted by a specified amount.\n * When the resulting value reaches the limits of the field, it wraps around.\n */\n cycle(field: DateField | TimeField, amount: number, options?: CycleTimeOptions) {\n return cycleZoned(this, field, amount, options);\n }\n\n /** Converts the date to a native JavaScript Date object. */\n toDate() {\n return zonedToDate(this);\n }\n\n /** Converts the date to an ISO 8601 formatted string, including the UTC offset and time zone identifier. */\n toString() {\n return zonedDateTimeToString(this);\n }\n\n /** Converts the date to an ISO 8601 formatted string in UTC. */\n toAbsoluteString() {\n return this.toDate().toISOString();\n }\n\n /** Compares this date with another. A negative result indicates that this date is before the given one, and a positive date indicates that it is after. */\n compare(b: CalendarDate | CalendarDateTime | ZonedDateTime) {\n // TODO: Is this a bad idea??\n return this.toDate().getTime() - toZoned(b, this.timeZone).toDate().getTime();\n }\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 formatterCache = new Map();\n\ninterface ResolvedDateTimeFormatOptions extends Intl.ResolvedDateTimeFormatOptions {\n hourCycle?: Intl.DateTimeFormatOptions['hourCycle']\n}\n\ninterface DateRangeFormatPart extends Intl.DateTimeFormatPart {\n source: 'startRange' | 'endRange' | 'shared'\n}\n\n/** A wrapper around Intl.DateTimeFormat that fixes various browser bugs, and polyfills new features. */\nexport class DateFormatter implements Intl.DateTimeFormat {\n private formatter: Intl.DateTimeFormat;\n private options: Intl.DateTimeFormatOptions;\n private resolvedHourCycle: Intl.DateTimeFormatOptions['hourCycle'];\n\n constructor(locale: string, options: Intl.DateTimeFormatOptions = {}) {\n this.formatter = getCachedDateFormatter(locale, options);\n this.options = options;\n }\n\n /** Formats a date as a string according to the locale and format options passed to the constructor. */\n format(value: Date): string {\n return this.formatter.format(value);\n }\n\n /** Formats a date to an array of parts such as separators, numbers, punctuation, and more. */\n formatToParts(value: Date): Intl.DateTimeFormatPart[] {\n return this.formatter.formatToParts(value);\n }\n\n /** Formats a date range as a string. */\n formatRange(start: Date, end: Date): string {\n // @ts-ignore\n if (typeof this.formatter.formatRange === 'function') {\n // @ts-ignore\n return this.formatter.formatRange(start, end);\n }\n\n if (end < start) {\n throw new RangeError('End date must be >= start date');\n }\n\n // Very basic fallback for old browsers.\n return `${this.formatter.format(start)} – ${this.formatter.format(end)}`;\n }\n\n /** Formats a date range as an array of parts. */\n formatRangeToParts(start: Date, end: Date): DateRangeFormatPart[] {\n // @ts-ignore\n if (typeof this.formatter.formatRangeToParts === 'function') {\n // @ts-ignore\n return this.formatter.formatRangeToParts(start, end);\n }\n\n if (end < start) {\n throw new RangeError('End date must be >= start date');\n }\n\n let startParts = this.formatter.formatToParts(start);\n let endParts = this.formatter.formatToParts(end);\n return [\n ...startParts.map(p => ({...p, source: 'startRange'} as DateRangeFormatPart)),\n {type: 'literal', value: ' – ', source: 'shared'},\n ...endParts.map(p => ({...p, source: 'endRange'} as DateRangeFormatPart))\n ];\n }\n\n /** Returns the resolved formatting options based on the values passed to the constructor. */\n resolvedOptions(): ResolvedDateTimeFormatOptions {\n let resolvedOptions = this.formatter.resolvedOptions() as ResolvedDateTimeFormatOptions;\n if (hasBuggyResolvedHourCycle()) {\n if (!this.resolvedHourCycle) {\n this.resolvedHourCycle = getResolvedHourCycle(resolvedOptions.locale, this.options);\n }\n resolvedOptions.hourCycle = this.resolvedHourCycle;\n resolvedOptions.hour12 = this.resolvedHourCycle === 'h11' || this.resolvedHourCycle === 'h12';\n }\n\n return resolvedOptions;\n }\n}\n\n// There are multiple bugs involving the hour12 and hourCycle options in various browser engines.\n// - Chrome [1] (and the ECMA 402 spec [2]) resolve hour12: false in English and other locales to h24 (24:00 - 23:59)\n// rather than h23 (00:00 - 23:59). Same can happen with hour12: true in French, which Chrome resolves to h11 (00:00 - 11:59)\n// rather than h12 (12:00 - 11:59).\n// - WebKit returns an incorrect hourCycle resolved option in the French locale due to incorrect parsing of 'h' literal\n// in the resolved pattern. It also formats incorrectly when specifying the hourCycle option for the same reason. [3]\n// [1] https://bugs.chromium.org/p/chromium/issues/detail?id=1045791\n// [2] https://github.com/tc39/ecma402/issues/402\n// [3] https://bugs.webkit.org/show_bug.cgi?id=229313\n\n// https://github.com/unicode-org/cldr/blob/018b55eff7ceb389c7e3fc44e2f657eae3b10b38/common/supplemental/supplementalData.xml#L4774-L4802\nconst hour12Preferences = {\n true: {\n // Only Japanese uses the h11 style for 12 hour time. All others use h12.\n ja: 'h11'\n },\n false: {\n // All locales use h23 for 24 hour time. None use h24.\n }\n};\n\nfunction getCachedDateFormatter(locale: string, options: Intl.DateTimeFormatOptions = {}): Intl.DateTimeFormat {\n // Work around buggy hour12 behavior in Chrome / ECMA 402 spec by using hourCycle instead.\n // Only apply the workaround if the issue is detected, because the hourCycle option is buggy in Safari.\n if (typeof options.hour12 === 'boolean' && hasBuggyHour12Behavior()) {\n options = {...options};\n let pref = hour12Preferences[String(options.hour12)][locale.split('-')[0]];\n let defaultHourCycle = options.hour12 ? 'h12' : 'h23';\n options.hourCycle = pref ?? defaultHourCycle;\n delete options.hour12;\n }\n\n let cacheKey = locale + (options ? Object.entries(options).sort((a, b) => a[0] < b[0] ? -1 : 1).join() : '');\n if (formatterCache.has(cacheKey)) {\n return formatterCache.get(cacheKey);\n }\n\n let numberFormatter = new Intl.DateTimeFormat(locale, options);\n formatterCache.set(cacheKey, numberFormatter);\n return numberFormatter;\n}\n\nlet _hasBuggyHour12Behavior: boolean = null;\nfunction hasBuggyHour12Behavior() {\n if (_hasBuggyHour12Behavior == null) {\n _hasBuggyHour12Behavior = new Intl.DateTimeFormat('en-US', {\n hour: 'numeric',\n hour12: false\n }).format(new Date(2020, 2, 3, 0)) === '24';\n }\n\n return _hasBuggyHour12Behavior;\n}\n\nlet _hasBuggyResolvedHourCycle: boolean = null;\nfunction hasBuggyResolvedHourCycle() {\n if (_hasBuggyResolvedHourCycle == null) {\n _hasBuggyResolvedHourCycle = (new Intl.DateTimeFormat('fr', {\n hour: 'numeric',\n hour12: false\n }).resolvedOptions() as ResolvedDateTimeFormatOptions).hourCycle === 'h12';\n }\n\n return _hasBuggyResolvedHourCycle;\n}\n\nfunction getResolvedHourCycle(locale: string, options: Intl.DateTimeFormatOptions) {\n if (!options.timeStyle && !options.hour) {\n return undefined;\n }\n\n // Work around buggy results in resolved hourCycle and hour12 options in WebKit.\n // Format the minimum possible hour and maximum possible hour in a day and parse the results.\n locale = locale.replace(/(-u-)?-nu-[a-zA-Z0-9]+/, '');\n locale += (locale.includes('-u-') ? '' : '-u') + '-nu-latn';\n let formatter = getCachedDateFormatter(locale, {\n ...options,\n timeZone: undefined // use local timezone\n });\n\n let min = parseInt(formatter.formatToParts(new Date(2020, 2, 3, 0)).find(p => p.type === 'hour').value, 10);\n let max = parseInt(formatter.formatToParts(new Date(2020, 2, 3, 23)).find(p => p.type === 'hour').value, 10);\n\n if (min === 0 && max === 23) {\n return 'h23';\n }\n\n if (min === 24 && max === 23) {\n return 'h24';\n }\n\n if (min === 0 && max === 11) {\n return 'h11';\n }\n\n if (min === 12 && max === 11) {\n return 'h12';\n }\n\n throw new Error('Unexpected hour cycle result');\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 formatterCache = new Map();\n\nlet supportsSignDisplay = false;\ntry {\n // @ts-ignore\n supportsSignDisplay = (new Intl.NumberFormat('de-DE', {signDisplay: 'exceptZero'})).resolvedOptions().signDisplay === 'exceptZero';\n // eslint-disable-next-line no-empty\n} catch (e) {}\n\nlet supportsUnit = false;\ntry {\n // @ts-ignore\n supportsUnit = (new Intl.NumberFormat('de-DE', {style: 'unit', unit: 'degree'})).resolvedOptions().style === 'unit';\n // eslint-disable-next-line no-empty\n} catch (e) {}\n\n// Polyfill for units since Safari doesn't support them yet. See https://bugs.webkit.org/show_bug.cgi?id=215438.\n// Currently only polyfilling the unit degree in narrow format for ColorSlider in our supported locales.\n// Values were determined by switching to each locale manually in Chrome.\nconst UNITS = {\n degree: {\n narrow: {\n default: '°',\n 'ja-JP': ' 度',\n 'zh-TW': '度',\n 'sl-SI': ' °'\n // Arabic?? But Safari already doesn't use Arabic digits so might be ok...\n // https://bugs.webkit.org/show_bug.cgi?id=218139\n }\n }\n};\n\nexport interface NumberFormatOptions extends Intl.NumberFormatOptions {\n /** Overrides default numbering system for the current locale. */\n numberingSystem?: string\n}\n\ninterface NumberRangeFormatPart extends Intl.NumberFormatPart {\n source: 'startRange' | 'endRange' | 'shared'\n}\n\n/**\n * A wrapper around Intl.NumberFormat providing additional options, polyfills, and caching for performance.\n */\nexport class NumberFormatter implements Intl.NumberFormat {\n private numberFormatter: Intl.NumberFormat;\n private options: NumberFormatOptions;\n\n constructor(locale: string, options: NumberFormatOptions = {}) {\n this.numberFormatter = getCachedNumberFormatter(locale, options);\n this.options = options;\n }\n\n /** Formats a number value as a string, according to the locale and options provided to the constructor. */\n format(value: number): string {\n let res = '';\n if (!supportsSignDisplay && this.options.signDisplay != null) {\n res = numberFormatSignDisplayPolyfill(this.numberFormatter, this.options.signDisplay, value);\n } else {\n res = this.numberFormatter.format(value);\n }\n\n if (this.options.style === 'unit' && !supportsUnit) {\n let {unit, unitDisplay = 'short', locale} = this.resolvedOptions();\n let values = UNITS[unit]?.[unitDisplay];\n res += values[locale] || values.default;\n }\n\n return res;\n }\n\n /** Formats a number to an array of parts such as separators, digits, punctuation, and more. */\n formatToParts(value: number): Intl.NumberFormatPart[] {\n // TODO: implement signDisplay for formatToParts\n // @ts-ignore\n return this.numberFormatter.formatToParts(value);\n }\n\n /** Formats a number range as a string. */\n formatRange(start: number, end: number): string {\n // @ts-ignore\n if (typeof this.numberFormatter.formatRange === 'function') {\n // @ts-ignore\n return this.numberFormatter.formatRange(start, end);\n }\n\n if (end < start) {\n throw new RangeError('End date must be >= start date');\n }\n\n // Very basic fallback for old browsers.\n return `${this.format(start)} – ${this.format(end)}`;\n }\n\n /** Formats a number range as an array of parts. */\n formatRangeToParts(start: number, end: number): NumberRangeFormatPart[] {\n // @ts-ignore\n if (typeof this.numberFormatter.formatRangeToParts === 'function') {\n // @ts-ignore\n return this.numberFormatter.formatRangeToParts(start, end);\n }\n\n if (end < start) {\n throw new RangeError('End date must be >= start date');\n }\n\n let startParts = this.numberFormatter.formatToParts(start);\n let endParts = this.numberFormatter.formatToParts(end);\n return [\n ...startParts.map(p => ({...p, source: 'startRange'} as NumberRangeFormatPart)),\n {type: 'literal', value: ' – ', source: 'shared'},\n ...endParts.map(p => ({...p, source: 'endRange'} as NumberRangeFormatPart))\n ];\n }\n\n /** Returns the resolved formatting options based on the values passed to the constructor. */\n resolvedOptions(): Intl.ResolvedNumberFormatOptions {\n let options = this.numberFormatter.resolvedOptions();\n if (!supportsSignDisplay && this.options.signDisplay != null) {\n options = {...options, signDisplay: this.options.signDisplay};\n }\n\n if (!supportsUnit && this.options.style === 'unit') {\n options = {...options, style: 'unit', unit: this.options.unit, unitDisplay: this.options.unitDisplay};\n }\n\n return options;\n }\n}\n\nfunction getCachedNumberFormatter(locale: string, options: NumberFormatOptions = {}): Intl.NumberFormat {\n let {numberingSystem} = options;\n if (numberingSystem && locale.indexOf('-u-nu-') === -1) {\n locale = `${locale}-u-nu-${numberingSystem}`;\n }\n\n if (options.style === 'unit' && !supportsUnit) {\n let {unit, unitDisplay = 'short'} = options;\n if (!unit) {\n throw new Error('unit option must be provided with style: \"unit\"');\n }\n if (!UNITS[unit]?.[unitDisplay]) {\n throw new Error(`Unsupported unit ${unit} with unitDisplay = ${unitDisplay}`);\n }\n options = {...options, style: 'decimal'};\n }\n\n let cacheKey = locale + (options ? Object.entries(options).sort((a, b) => a[0] < b[0] ? -1 : 1).join() : '');\n if (formatterCache.has(cacheKey)) {\n return formatterCache.get(cacheKey);\n }\n\n let numberFormatter = new Intl.NumberFormat(locale, options);\n formatterCache.set(cacheKey, numberFormatter);\n return numberFormatter;\n}\n\n/** @private - exported for tests */\nexport function numberFormatSignDisplayPolyfill(numberFormat: Intl.NumberFormat, signDisplay: string, num: number) {\n if (signDisplay === 'auto') {\n return numberFormat.format(num);\n } else if (signDisplay === 'never') {\n return numberFormat.format(Math.abs(num));\n } else {\n let needsPositiveSign = false;\n if (signDisplay === 'always') {\n needsPositiveSign = num > 0 || Object.is(num, 0);\n } else if (signDisplay === 'exceptZero') {\n if (Object.is(num, -0) || Object.is(num, 0)) {\n num = Math.abs(num);\n } else {\n needsPositiveSign = num > 0;\n }\n }\n\n if (needsPositiveSign) {\n let negative = numberFormat.format(-num);\n let noSign = numberFormat.format(num);\n // ignore RTL/LTR marker character\n let minus = negative.replace(noSign, '').replace(/\\u200e|\\u061C/, '');\n if ([...minus].length !== 1) {\n console.warn('@react-aria/i18n polyfill for NumberFormat signDisplay: Unsupported case');\n }\n let positive = negative.replace(noSign, '!!!').replace(minus, '+').replace('!!!', noSign);\n return positive;\n } else {\n return numberFormat.format(num);\n }\n }\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\ninterface Symbols {\n minusSign: string,\n plusSign: string,\n decimal: string,\n group: string,\n literals: RegExp,\n numeral: RegExp,\n index: (v: string) => string\n}\n\nconst CURRENCY_SIGN_REGEX = new RegExp('^.*\\\\(.*\\\\).*$');\nconst NUMBERING_SYSTEMS = ['latn', 'arab', 'hanidec'];\n\n/**\n * A NumberParser can be used to perform locale-aware parsing of numbers from Unicode strings,\n * as well as validation of partial user input. It automatically detects the numbering system\n * used in the input, and supports parsing decimals, percentages, currency values, and units\n * according to the locale.\n */\nexport class NumberParser {\n private locale: string;\n private options: Intl.NumberFormatOptions;\n\n constructor(locale: string, options: Intl.NumberFormatOptions = {}) {\n this.locale = locale;\n this.options = options;\n }\n\n /**\n * Parses the given string to a number. Returns NaN if a valid number could not be parsed.\n */\n parse(value: string): number {\n return getNumberParserImpl(this.locale, this.options, value).parse(value);\n }\n\n /**\n * Returns whether the given string could potentially be a valid number. This should be used to\n * validate user input as the user types. If a `minValue` or `maxValue` is provided, the validity\n * of the minus/plus sign characters can be checked.\n */\n isValidPartialNumber(value: string, minValue?: number, maxValue?: number): boolean {\n return getNumberParserImpl(this.locale, this.options, value).isValidPartialNumber(value, minValue, maxValue);\n }\n\n /**\n * Returns a numbering system for which the given string is valid in the current locale.\n * If no numbering system could be detected, the default numbering system for the current\n * locale is returned.\n */\n getNumberingSystem(value: string): string {\n return getNumberParserImpl(this.locale, this.options, value).options.numberingSystem;\n }\n}\n\nconst numberParserCache = new Map();\nfunction getNumberParserImpl(locale: string, options: Intl.NumberFormatOptions, value: string) {\n // First try the default numbering system for the provided locale\n let defaultParser = getCachedNumberParser(locale, options);\n\n // If that doesn't match, and the locale doesn't include a hard coded numbering system,\n // try each of the other supported numbering systems until we find one that matches.\n if (!locale.includes('-nu-') && !defaultParser.isValidPartialNumber(value)) {\n for (let numberingSystem of NUMBERING_SYSTEMS) {\n if (numberingSystem !== defaultParser.options.numberingSystem) {\n let parser = getCachedNumberParser(locale + (locale.includes('-u-') ? '-nu-' : '-u-nu-') + numberingSystem, options);\n if (parser.isValidPartialNumber(value)) {\n return parser;\n }\n }\n }\n }\n\n return defaultParser;\n}\n\nfunction getCachedNumberParser(locale: string, options: Intl.NumberFormatOptions) {\n let cacheKey = locale + (options ? Object.entries(options).sort((a, b) => a[0] < b[0] ? -1 : 1).join() : '');\n let parser = numberParserCache.get(cacheKey);\n if (!parser) {\n parser = new NumberParserImpl(locale, options);\n numberParserCache.set(cacheKey, parser);\n }\n\n return parser;\n}\n\n// The actual number parser implementation. Instances of this class are cached\n// based on the locale, options, and detected numbering system.\nclass NumberParserImpl {\n formatter: Intl.NumberFormat;\n options: Intl.ResolvedNumberFormatOptions;\n symbols: Symbols;\n\n constructor(locale: string, options: Intl.NumberFormatOptions = {}) {\n this.formatter = new Intl.NumberFormat(locale, options);\n this.options = this.formatter.resolvedOptions();\n this.symbols = getSymbols(this.formatter, this.options, options);\n }\n\n parse(value: string) {\n // to parse the number, we need to remove anything that isn't actually part of the number, for example we want '-10.40' not '-10.40 USD'\n let fullySanitizedValue = this.sanitize(value);\n\n // Remove group characters, and replace decimal points and numerals with ASCII values.\n fullySanitizedValue = replaceAll(fullySanitizedValue, this.symbols.group, '')\n .replace(this.symbols.decimal, '.')\n .replace(this.symbols.minusSign, '-')\n .replace(this.symbols.numeral, this.symbols.index);\n\n let newValue = fullySanitizedValue ? +fullySanitizedValue : NaN;\n if (isNaN(newValue)) {\n return NaN;\n }\n\n // accounting will always be stripped to a positive number, so if it's accounting and has a () around everything, then we need to make it negative again\n if (this.options.currencySign === 'accounting' && CURRENCY_SIGN_REGEX.test(value)) {\n newValue = -1 * newValue;\n }\n\n // when reading the number, if it's a percent, then it should be interpreted as being divided by 100\n if (this.options.style === 'percent') {\n newValue /= 100;\n // after dividing to get the percent value, javascript may get .0210999999 instead of .0211, so fix the number of fraction digits\n newValue = +newValue.toFixed((this.options.maximumFractionDigits ?? 0) + 2);\n }\n\n return newValue;\n }\n\n sanitize(value: string) {\n // Remove literals and whitespace, which are allowed anywhere in the string\n value = value.replace(this.symbols.literals, '');\n\n // Replace the ASCII minus sign with the minus sign used in the current locale\n // so that both are allowed in case the user's keyboard doesn't have the locale's minus sign.\n value = value.replace('-', this.symbols.minusSign);\n\n // In arab numeral system, their decimal character is 1643, but most keyboards don't type that\n // instead they use the , (44) character or apparently the (1548) character.\n if (this.options.numberingSystem === 'arab') {\n value = value.replace(',', this.symbols.decimal);\n value = value.replace(String.fromCharCode(1548), this.symbols.decimal);\n value = replaceAll(value, '.', this.symbols.group);\n }\n\n // fr-FR group character is char code 8239, but that's not a key on the french keyboard,\n // so allow 'period' as a group char and replace it with a space\n if (this.options.locale === 'fr-FR') {\n value = replaceAll(value, '.', String.fromCharCode(8239));\n }\n\n return value;\n }\n\n isValidPartialNumber(value: string, minValue: number = -Infinity, maxValue: number = Infinity): boolean {\n value = this.sanitize(value);\n\n // Remove minus or plus sign, which must be at the start of the string.\n if (value.startsWith(this.symbols.minusSign) && minValue < 0) {\n value = value.slice(this.symbols.minusSign.length);\n } else if (this.symbols.plusSign && value.startsWith(this.symbols.plusSign) && maxValue > 0) {\n value = value.slice(this.symbols.plusSign.length);\n }\n\n // Numbers cannot start with a group separator\n if (value.startsWith(this.symbols.group)) {\n return false;\n }\n\n // Remove numerals, groups, and decimals\n value = replaceAll(value, this.symbols.group, '')\n .replace(this.symbols.numeral, '')\n .replace(this.symbols.decimal, '');\n\n // The number is valid if there are no remaining characters\n return value.length === 0;\n }\n}\n\nconst nonLiteralParts = new Set(['decimal', 'fraction', 'integer', 'minusSign', 'plusSign', 'group']);\n\nfunction getSymbols(formatter: Intl.NumberFormat, intlOptions: Intl.ResolvedNumberFormatOptions, originalOptions: Intl.NumberFormatOptions): Symbols {\n // Note: some locale's don't add a group symbol until there is a ten thousands place\n let allParts = formatter.formatToParts(-10000.111);\n let posAllParts = formatter.formatToParts(10000.111);\n let singularParts = formatter.formatToParts(1);\n\n let minusSign = allParts.find(p => p.type === 'minusSign')?.value ?? '-';\n let plusSign = posAllParts.find(p => p.type === 'plusSign')?.value;\n\n // Safari does not support the signDisplay option, but our number parser polyfills it.\n // If no plus sign was returned, but the original options contained signDisplay, default to the '+' character.\n // @ts-ignore\n if (!plusSign && (originalOptions?.signDisplay === 'exceptZero' || originalOptions?.signDisplay === 'always')) {\n plusSign = '+';\n }\n\n let decimal = allParts.find(p => p.type === 'decimal')?.value;\n let group = allParts.find(p => p.type === 'group')?.value;\n\n // this set is also for a regex, it's all literals that might be in the string we want to eventually parse that\n // don't contribute to the numerical value\n let pluralLiterals = allParts.filter(p => !nonLiteralParts.has(p.type)).map(p => escapeRegex(p.value));\n let singularLiterals = singularParts.filter(p => !nonLiteralParts.has(p.type)).map(p => escapeRegex(p.value));\n let sortedLiterals = [...new Set([...singularLiterals, ...pluralLiterals])].sort((a, b) => b.length - a.length);\n let literals = sortedLiterals.length === 0 ? \n new RegExp('[\\\\p{White_Space}]', 'gu') :\n new RegExp(`${sortedLiterals.join('|')}|[\\\\p{White_Space}]`, 'gu');\n\n // These are for replacing non-latn characters with the latn equivalent\n let numerals = [...new Intl.NumberFormat(intlOptions.locale, {useGrouping: false}).format(9876543210)].reverse();\n let indexes = new Map(numerals.map((d, i) => [d, i]));\n let numeral = new RegExp(`[${numerals.join('')}]`, 'g');\n let index = d => String(indexes.get(d));\n\n return {minusSign, plusSign, decimal, group, literals, numeral, index};\n}\n\nfunction replaceAll(str: string, find: string, replace: string) {\n // @ts-ignore\n if (str.replaceAll) {\n // @ts-ignore\n return str.replaceAll(find, replace);\n }\n\n return str.split(find).join(replace);\n}\n\nfunction escapeRegex(string: string) {\n return string.replace(/[-/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\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// https://en.wikipedia.org/wiki/Right-to-left\nconst RTL_SCRIPTS = new Set(['Arab', 'Syrc', 'Samr', 'Mand', 'Thaa', 'Mend', 'Nkoo', 'Adlm', 'Rohg', 'Hebr']);\nconst RTL_LANGS = new Set(['ae', 'ar', 'arc', 'bcc', 'bqi', 'ckb', 'dv', 'fa', 'glk', 'he', 'ku', 'mzn', 'nqo', 'pnb', 'ps', 'sd', 'ug', 'ur', 'yi']);\n\n/**\n * Determines if a locale is read right to left using [Intl.Locale]{@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale}.\n */\nexport function isRTL(locale: string) {\n // If the Intl.Locale API is available, use it to get the script for the locale.\n // This is more accurate than guessing by language, since languages can be written in multiple scripts.\n // @ts-ignore\n if (Intl.Locale) {\n // @ts-ignore\n let script = new Intl.Locale(locale).maximize().script;\n return RTL_SCRIPTS.has(script);\n }\n\n // If not, just guess by the language (first part of the locale)\n let lang = locale.split('-')[0];\n return RTL_LANGS.has(lang);\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\nimport {Direction} from '@react-types/shared';\nimport {isRTL} from './utils';\nimport {useEffect, useState} from 'react';\nimport {useIsSSR} from '@react-aria/ssr';\n\nexport interface Locale {\n /** The [BCP47](https://www.ietf.org/rfc/bcp/bcp47.txt) language code for the locale. */\n locale: string,\n /** The writing direction for the locale. */\n direction: Direction\n}\n\n/**\n * Gets the locale setting of the browser.\n */\nexport function getDefaultLocale(): Locale {\n // @ts-ignore\n let locale = (typeof navigator !== 'undefined' && (navigator.language || navigator.userLanguage)) || 'en-US';\n try {\n // @ts-ignore\n Intl.DateTimeFormat.supportedLocalesOf([locale]);\n } catch (_err) {\n locale = 'en-US';\n }\n return {\n locale,\n direction: isRTL(locale) ? 'rtl' : 'ltr'\n };\n}\n\nlet currentLocale = getDefaultLocale();\nlet listeners = new Set<(locale: Locale) => void>();\n\nfunction updateLocale() {\n currentLocale = getDefaultLocale();\n for (let listener of listeners) {\n listener(currentLocale);\n }\n}\n\n/**\n * Returns the current browser/system language, and updates when it changes.\n */\nexport function useDefaultLocale(): Locale {\n let isSSR = useIsSSR();\n let [defaultLocale, setDefaultLocale] = useState(currentLocale);\n\n useEffect(() => {\n if (listeners.size === 0) {\n window.addEventListener('languagechange', updateLocale);\n }\n\n listeners.add(setDefaultLocale);\n\n return () => {\n listeners.delete(setDefaultLocale);\n if (listeners.size === 0) {\n window.removeEventListener('languagechange', updateLocale);\n }\n };\n }, []);\n\n // We cannot determine the browser's language on the server, so default to\n // en-US. This will be updated after hydration on the client to the correct value.\n if (isSSR) {\n return {\n locale: 'en-US',\n direction: 'ltr'\n };\n }\n\n return defaultLocale;\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\nimport {isRTL} from './utils';\nimport {Locale, useDefaultLocale} from './useDefaultLocale';\nimport React, {ReactNode, useContext} from 'react';\n\ninterface ProviderProps {\n /** Contents that should have the locale applied. */\n children: ReactNode,\n /** The locale to apply to the children. */\n locale?: string\n}\n\nconst I18nContext = React.createContext(null);\n\n/**\n * Provides the locale for the application to all child components.\n */\nexport function I18nProvider(props: ProviderProps) {\n let {locale, children} = props;\n let defaultLocale = useDefaultLocale();\n\n let value: Locale = locale ? {\n locale,\n direction: isRTL(locale) ? 'rtl' : 'ltr'\n } : defaultLocale;\n\n return (\n \n {children}\n \n );\n}\n\n/**\n * Returns the current locale and layout direction.\n */\nexport function useLocale(): Locale {\n let defaultLocale = useDefaultLocale();\n let context = useContext(I18nContext);\n return context || defaultLocale;\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\nimport {LocalizedStrings, MessageDictionary, MessageFormatter} from '@internationalized/message';\nimport {useCallback, useMemo} from 'react';\nimport {useLocale} from './context';\n\nexport type FormatMessage = (key: string, variables?: {[key: string]: any}) => string;\n\nconst cache = new WeakMap();\nfunction getCachedDictionary(strings: LocalizedStrings) {\n let dictionary = cache.get(strings);\n if (!dictionary) {\n dictionary = new MessageDictionary(strings);\n cache.set(strings, dictionary);\n }\n\n return dictionary;\n}\n\n/**\n * Handles formatting ICU Message strings to create localized strings for the current locale.\n * Automatically updates when the locale changes, and handles caching of messages for performance.\n * @param strings - A mapping of languages to strings by key.\n */\nexport function useMessageFormatter(strings: LocalizedStrings): FormatMessage {\n let {locale} = useLocale();\n let dictionary = useMemo(() => getCachedDictionary(strings), [strings]);\n let formatter = useMemo(() => new MessageFormatter(locale, dictionary), [locale, dictionary]);\n return useCallback((key, variables) => formatter.format(key, variables), [formatter]);\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\nimport {DateFormatter} from '@internationalized/date';\nimport {useLocale} from './context';\nimport {useMemo, useRef} from 'react';\n\ninterface DateFormatterOptions extends Intl.DateTimeFormatOptions {\n calendar?: string\n}\n\n/**\n * Provides localized date formatting for the current locale. Automatically updates when the locale changes,\n * and handles caching of the date formatter for performance.\n * @param options - Formatting options.\n */\nexport function useDateFormatter(options?: DateFormatterOptions): DateFormatter {\n // Reuse last options object if it is shallowly equal, which allows the useMemo result to also be reused.\n let lastOptions = useRef(null);\n if (options && lastOptions.current && isEqual(options, lastOptions.current)) {\n options = lastOptions.current;\n }\n\n lastOptions.current = options;\n\n let {locale} = useLocale();\n return useMemo(() => new DateFormatter(locale, options), [locale, options]);\n}\n\nfunction isEqual(a: DateFormatterOptions, b: DateFormatterOptions) {\n if (a === b) {\n return true;\n }\n\n let aKeys = Object.keys(a);\n let bKeys = Object.keys(b);\n if (aKeys.length !== bKeys.length) {\n return false;\n }\n\n for (let key of aKeys) {\n if (b[key] !== a[key]) {\n return false;\n }\n }\n\n return true;\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\nimport {NumberFormatOptions, NumberFormatter} from '@internationalized/number';\nimport {useLocale} from './context';\nimport {useMemo} from 'react';\n\n/**\n * Provides localized number formatting for the current locale. Automatically updates when the locale changes,\n * and handles caching of the number formatter for performance.\n * @param options - Formatting options.\n */\nexport function useNumberFormatter(options: NumberFormatOptions = {}): Intl.NumberFormat {\n let {locale} = useLocale();\n return useMemo(() => new NumberFormatter(locale, options), [locale, options]);\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\nimport {useLocale} from './context';\n\nlet cache = new Map();\n\n/**\n * Provides localized string collation for the current locale. Automatically updates when the locale changes,\n * and handles caching of the collator for performance.\n * @param options - Collator options.\n */\nexport function useCollator(options?: Intl.CollatorOptions): Intl.Collator {\n let {locale} = useLocale();\n\n let cacheKey = locale + (options ? Object.entries(options).sort((a, b) => a[0] < b[0] ? -1 : 1).join() : '');\n if (cache.has(cacheKey)) {\n return cache.get(cacheKey);\n }\n\n let formatter = new Intl.Collator(locale, options);\n cache.set(cacheKey, formatter);\n return formatter;\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\nimport {useCollator} from './useCollator';\n\ninterface Filter {\n /** Returns whether a string starts with a given substring. */\n startsWith(string: string, substring: string): boolean,\n /** Returns whether a string ends with a given substring. */\n endsWith(string: string, substring: string): boolean,\n /** Returns whether a string contains a given substring. */\n contains(string: string, substring: string): boolean\n}\n\n/**\n * Provides localized string search functionality that is useful for filtering or matching items\n * in a list. Options can be provided to adjust the sensitivity to case, diacritics, and other parameters.\n */\nexport function useFilter(options?: Intl.CollatorOptions): Filter {\n let collator = useCollator({\n usage: 'search',\n ...options\n });\n\n // TODO(later): these methods don't currently support the ignorePunctuation option.\n\n return {\n startsWith(string, substring) {\n if (substring.length === 0) {\n return true;\n }\n\n // Normalize both strings so we can slice safely\n // TODO: take into account the ignorePunctuation option as well...\n string = string.normalize('NFC');\n substring = substring.normalize('NFC');\n return collator.compare(string.slice(0, substring.length), substring) === 0;\n },\n endsWith(string, substring) {\n if (substring.length === 0) {\n return true;\n }\n\n string = string.normalize('NFC');\n substring = substring.normalize('NFC');\n return collator.compare(string.slice(-substring.length), substring) === 0;\n },\n contains(string, substring) {\n if (substring.length === 0) {\n return true;\n }\n\n string = string.normalize('NFC');\n substring = substring.normalize('NFC');\n\n let scan = 0;\n let sliceLen = substring.length;\n for (; scan + sliceLen <= string.length; scan++) {\n let slice = string.slice(scan, scan + sliceLen);\n if (collator.compare(substring, slice) === 0) {\n return true;\n }\n }\n\n return false;\n }\n };\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\nimport {mergeProps} from '@react-aria/utils';\nimport React, {CSSProperties, HTMLAttributes, JSXElementConstructor, ReactNode, useMemo, useState} from 'react';\nimport {useFocus} from '@react-aria/interactions';\n\ninterface VisuallyHiddenProps extends HTMLAttributes {\n /** The content to visually hide. */\n children?: ReactNode,\n\n /**\n * The element type for the container.\n * @default 'div'\n */\n elementType?: string | JSXElementConstructor,\n\n /** Whether the element should become visible on focus, for example skip links. */\n isFocusable?: boolean\n}\n\nconst styles: CSSProperties = {\n border: 0,\n clip: 'rect(0 0 0 0)',\n clipPath: 'inset(50%)',\n height: 1,\n margin: '0 -1px -1px 0',\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n width: 1,\n whiteSpace: 'nowrap'\n};\n\ninterface VisuallyHiddenAria {\n visuallyHiddenProps: HTMLAttributes\n}\n\n/**\n * Provides props for an element that hides its children visually\n * but keeps content visible to assistive technology.\n */\nexport function useVisuallyHidden(props: VisuallyHiddenProps = {}): VisuallyHiddenAria {\n let {\n style,\n isFocusable\n } = props;\n\n let [isFocused, setFocused] = useState(false);\n let {focusProps} = useFocus({\n isDisabled: !isFocusable,\n onFocusChange: setFocused\n });\n\n // If focused, don't hide the element.\n let combinedStyles = useMemo(() => {\n if (isFocused) {\n return style;\n } else if (style) {\n return {...styles, ...style};\n } else {\n return styles;\n }\n }, [isFocused]);\n\n return {\n visuallyHiddenProps: {\n ...focusProps,\n style: combinedStyles\n }\n };\n}\n\n/**\n * VisuallyHidden hides its children visually, while keeping content visible\n * to screen readers.\n */\nexport function VisuallyHidden(props: VisuallyHiddenProps) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n let {children, elementType: Element = 'div', isFocusable, style, ...otherProps} = props;\n let {visuallyHiddenProps} = useVisuallyHidden(props);\n\n return (\n \n {children}\n \n );\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\nimport {Axis, Placement, PlacementAxis, SizeAxis} from '@react-types/overlays';\nimport getCss from 'dom-helpers/style';\nimport getOffset from 'dom-helpers/query/offset';\nimport getPosition from 'dom-helpers/query/position';\nimport getScrollLeft from 'dom-helpers/query/scrollLeft';\nimport getScrollTop from 'dom-helpers/query/scrollTop';\nimport ownerDocument from 'dom-helpers/ownerDocument';\n\ninterface Position {\n top?: number,\n left?: number,\n bottom?: number,\n right?: number\n}\n\ninterface Dimensions {\n width: number,\n height: number,\n top: number,\n left: number,\n scroll: Position\n}\n\ninterface ParsedPlacement {\n placement: PlacementAxis,\n crossPlacement: PlacementAxis,\n axis: Axis,\n crossAxis: Axis,\n size: SizeAxis,\n crossSize: SizeAxis\n}\n\ninterface Offset {\n top: number,\n left: number,\n width: number,\n height: number\n}\n\ninterface PositionOpts {\n placement: Placement,\n targetNode: HTMLElement,\n overlayNode: HTMLElement,\n scrollNode: HTMLElement,\n padding: number,\n shouldFlip: boolean,\n boundaryElement: HTMLElement,\n offset: number,\n crossOffset: number,\n maxHeight?: number\n}\n\nexport interface PositionResult {\n position?: Position,\n arrowOffsetLeft?: number,\n arrowOffsetTop?: number,\n maxHeight?: number,\n placement: PlacementAxis\n}\n\nconst AXIS = {\n top: 'top',\n bottom: 'top',\n left: 'left',\n right: 'left'\n};\n\nconst FLIPPED_DIRECTION = {\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left'\n};\n\nconst CROSS_AXIS = {\n top: 'left',\n left: 'top'\n};\n\nconst AXIS_SIZE = {\n top: 'height',\n left: 'width'\n};\n\nconst PARSED_PLACEMENT_CACHE = {};\n\n// @ts-ignore\nlet visualViewport = typeof window !== 'undefined' && window.visualViewport;\n\nfunction getContainerDimensions(containerNode: Element): Dimensions {\n let width = 0, height = 0, top = 0, left = 0;\n let scroll: Position = {};\n\n if (containerNode.tagName === 'BODY') {\n width = visualViewport?.width ?? document.documentElement.clientWidth;\n height = visualViewport?.height ?? document.documentElement.clientHeight;\n\n scroll.top =\n getScrollTop(ownerDocument(containerNode).documentElement) ||\n getScrollTop(containerNode);\n scroll.left =\n getScrollLeft(ownerDocument(containerNode).documentElement) ||\n getScrollLeft(containerNode);\n } else {\n ({width, height, top, left} = getOffset(containerNode));\n scroll.top = getScrollTop(containerNode);\n scroll.left = getScrollLeft(containerNode);\n }\n\n return {width, height, scroll, top, left};\n}\n\nfunction getScroll(node: HTMLElement): Offset {\n return {\n top: node.scrollTop,\n left: node.scrollLeft,\n width: node.scrollWidth,\n height: node.scrollHeight\n };\n}\n\nfunction getDelta(\n axis: Axis,\n offset: number,\n size: number,\n containerDimensions: Dimensions,\n padding: number\n) {\n let containerScroll = containerDimensions.scroll[axis];\n let containerHeight = containerDimensions[AXIS_SIZE[axis]];\n\n let startEdgeOffset = offset - padding - containerScroll;\n let endEdgeOffset = offset + padding - containerScroll + size;\n\n if (startEdgeOffset < 0) {\n return -startEdgeOffset;\n } else if (endEdgeOffset > containerHeight) {\n return Math.max(containerHeight - endEdgeOffset, -startEdgeOffset);\n } else {\n return 0;\n }\n}\n\nfunction getMargins(node: HTMLElement): Position {\n let style = window.getComputedStyle(node);\n return {\n top: parseInt(style.marginTop, 10) || 0,\n bottom: parseInt(style.marginBottom, 10) || 0,\n left: parseInt(style.marginLeft, 10) || 0,\n right: parseInt(style.marginRight, 10) || 0\n };\n}\n\nfunction parsePlacement(input: Placement): ParsedPlacement {\n if (PARSED_PLACEMENT_CACHE[input]) {\n return PARSED_PLACEMENT_CACHE[input];\n }\n\n let [placement, crossPlacement] = input.split(' ');\n let axis: Axis = AXIS[placement] || 'right';\n let crossAxis: Axis = CROSS_AXIS[axis];\n\n if (!AXIS[crossPlacement]) {\n crossPlacement = 'center';\n }\n\n let size = AXIS_SIZE[axis];\n let crossSize = AXIS_SIZE[crossAxis];\n PARSED_PLACEMENT_CACHE[input] = {placement, crossPlacement, axis, crossAxis, size, crossSize};\n return PARSED_PLACEMENT_CACHE[input];\n}\n\nfunction computePosition(\n childOffset: Offset,\n boundaryDimensions: Dimensions,\n overlaySize: Offset,\n placementInfo: ParsedPlacement,\n offset: number,\n crossOffset: number,\n containerOffsetWithBoundary: Offset,\n isContainerPositioned: boolean\n) {\n let {placement, crossPlacement, axis, crossAxis, size, crossSize} = placementInfo;\n let position: Position = {};\n\n // button position\n position[crossAxis] = childOffset[crossAxis];\n if (crossPlacement === 'center') {\n // + (button size / 2) - (overlay size / 2)\n // at this point the overlay center should match the button center\n position[crossAxis] += (childOffset[crossSize] - overlaySize[crossSize]) / 2;\n } else if (crossPlacement !== crossAxis) {\n // + (button size) - (overlay size)\n // at this point the overlay bottom should match the button bottom\n position[crossAxis] += (childOffset[crossSize] - overlaySize[crossSize]);\n }/* else {\n the overlay top should match the button top\n } */\n // add the crossOffset from props\n position[crossAxis] += crossOffset;\n\n // this is button center position - the overlay size + half of the button to align bottom of overlay with button center\n let minViablePosition = childOffset[crossAxis] + (childOffset[crossSize] / 2) - overlaySize[crossSize];\n // this is button position of center, aligns top of overlay with button center\n let maxViablePosition = childOffset[crossAxis] + (childOffset[crossSize] / 2);\n\n // clamp it into the range of the min/max positions\n position[crossAxis] = Math.min(Math.max(minViablePosition, position[crossAxis]), maxViablePosition);\n\n // Floor these so the position isn't placed on a partial pixel, only whole pixels. Shouldn't matter if it was floored or ceiled, so chose one.\n if (placement === axis) {\n // If the container is positioned (non-static), then we use the container's actual\n // height, as `bottom` will be relative to this height. But if the container is static,\n // then it can only be the `document.body`, and `bottom` will be relative to _its_\n // container, which should be as large as boundaryDimensions.\n const containerHeight = (isContainerPositioned ? containerOffsetWithBoundary[size] : boundaryDimensions[size]);\n position[FLIPPED_DIRECTION[axis]] = Math.floor(containerHeight - childOffset[axis] + offset);\n } else {\n position[axis] = Math.floor(childOffset[axis] + childOffset[size] + offset);\n }\n\n return position;\n}\n\nfunction getMaxHeight(\n position: Position,\n boundaryDimensions: Dimensions,\n containerOffsetWithBoundary: Offset,\n childOffset: Offset,\n margins: Position,\n padding: number\n) {\n return position.top != null\n // We want the distance between the top of the overlay to the bottom of the boundary\n ? Math.max(0,\n (boundaryDimensions.height + boundaryDimensions.top + boundaryDimensions.scroll.top) // this is the bottom of the boundary\n - (containerOffsetWithBoundary.top + position.top) // this is the top of the overlay\n - (margins.top + margins.bottom + padding) // save additional space for margin and padding\n )\n // We want the distance between the top of the trigger to the top of the boundary\n : Math.max(0,\n (childOffset.top + containerOffsetWithBoundary.top) // this is the top of the trigger\n - (boundaryDimensions.top + boundaryDimensions.scroll.top) // this is the top of the boundary\n - (margins.top + margins.bottom + padding) // save additional space for margin and padding\n );\n}\n\nfunction getAvailableSpace(\n boundaryDimensions: Dimensions,\n containerOffsetWithBoundary: Offset,\n childOffset: Offset,\n margins: Position,\n padding: number,\n placementInfo: ParsedPlacement\n) {\n let {placement, axis, size} = placementInfo;\n if (placement === axis) {\n return Math.max(0, childOffset[axis] - boundaryDimensions[axis] - boundaryDimensions.scroll[axis] + containerOffsetWithBoundary[axis] - margins[axis] - margins[FLIPPED_DIRECTION[axis]] - padding);\n }\n\n return Math.max(0, boundaryDimensions[size] + boundaryDimensions[axis] + boundaryDimensions.scroll[axis] - containerOffsetWithBoundary[axis] - childOffset[axis] - childOffset[size] - margins[axis] - margins[FLIPPED_DIRECTION[axis]] - padding);\n}\n\nexport function calculatePositionInternal(\n placementInput: Placement,\n childOffset: Offset,\n overlaySize: Offset,\n scrollSize: Offset,\n margins: Position,\n padding: number,\n flip: boolean,\n boundaryDimensions: Dimensions,\n containerOffsetWithBoundary: Offset,\n offset: number,\n crossOffset: number,\n isContainerPositioned: boolean,\n userSetMaxHeight?: number\n): PositionResult {\n let placementInfo = parsePlacement(placementInput);\n let {size, crossAxis, crossSize, placement, crossPlacement} = placementInfo;\n let position = computePosition(childOffset, boundaryDimensions, overlaySize, placementInfo, offset, crossOffset, containerOffsetWithBoundary, isContainerPositioned);\n let normalizedOffset = offset;\n let space = getAvailableSpace(\n boundaryDimensions,\n containerOffsetWithBoundary,\n childOffset,\n margins,\n padding + offset,\n placementInfo\n );\n\n // Check if the scroll size of the overlay is greater than the available space to determine if we need to flip\n if (flip && scrollSize[size] > space) {\n let flippedPlacementInfo = parsePlacement(`${FLIPPED_DIRECTION[placement]} ${crossPlacement}` as Placement);\n let flippedPosition = computePosition(childOffset, boundaryDimensions, overlaySize, flippedPlacementInfo, offset, crossOffset, containerOffsetWithBoundary, isContainerPositioned);\n let flippedSpace = getAvailableSpace(\n boundaryDimensions,\n containerOffsetWithBoundary,\n childOffset,\n margins,\n padding + offset,\n flippedPlacementInfo\n );\n\n // If the available space for the flipped position is greater than the original available space, flip.\n if (flippedSpace > space) {\n placementInfo = flippedPlacementInfo;\n position = flippedPosition;\n normalizedOffset = offset;\n }\n }\n\n let delta = getDelta(crossAxis, position[crossAxis], overlaySize[crossSize], boundaryDimensions, padding);\n position[crossAxis] += delta;\n\n let maxHeight = getMaxHeight(\n position,\n boundaryDimensions,\n containerOffsetWithBoundary,\n childOffset,\n margins,\n padding\n );\n\n if (userSetMaxHeight && userSetMaxHeight < maxHeight) {\n maxHeight = userSetMaxHeight;\n }\n\n overlaySize.height = Math.min(overlaySize.height, maxHeight);\n\n position = computePosition(childOffset, boundaryDimensions, overlaySize, placementInfo, normalizedOffset, crossOffset, containerOffsetWithBoundary, isContainerPositioned);\n delta = getDelta(crossAxis, position[crossAxis], overlaySize[crossSize], boundaryDimensions, padding);\n position[crossAxis] += delta;\n\n let arrowPosition: Position = {};\n arrowPosition[crossAxis] = (childOffset[crossAxis] - position[crossAxis] + childOffset[crossSize] / 2);\n\n return {\n position,\n maxHeight: maxHeight,\n arrowOffsetLeft: arrowPosition.left,\n arrowOffsetTop: arrowPosition.top,\n placement: placementInfo.placement\n };\n}\n\n/**\n * Determines where to place the overlay with regards to the target and the position of an optional indicator.\n */\nexport function calculatePosition(opts: PositionOpts): PositionResult {\n let {\n placement,\n targetNode,\n overlayNode,\n scrollNode,\n padding,\n shouldFlip,\n boundaryElement,\n offset,\n crossOffset,\n maxHeight\n } = opts;\n\n let container = overlayNode.offsetParent || document.body;\n let isBodyContainer = container.tagName === 'BODY';\n const containerPositionStyle = window.getComputedStyle(container).position;\n let isContainerPositioned = !!containerPositionStyle && containerPositionStyle !== 'static';\n let childOffset: Offset = isBodyContainer ? getOffset(targetNode) : getPosition(targetNode, container);\n\n if (!isBodyContainer) {\n childOffset.top += parseInt(getCss(targetNode, 'marginTop'), 10) || 0;\n childOffset.left += parseInt(getCss(targetNode, 'marginLeft'), 10) || 0;\n }\n\n let overlaySize: Offset = getOffset(overlayNode);\n let margins = getMargins(overlayNode);\n overlaySize.width += margins.left + margins.right;\n overlaySize.height += margins.top + margins.bottom;\n\n let scrollSize = getScroll(scrollNode);\n let boundaryDimensions = getContainerDimensions(boundaryElement);\n let containerOffsetWithBoundary: Offset = boundaryElement.tagName === 'BODY' ? getOffset(container) : getPosition(container, boundaryElement);\n\n return calculatePositionInternal(\n placement,\n childOffset,\n overlaySize,\n scrollSize,\n margins,\n padding,\n shouldFlip,\n boundaryDimensions,\n containerOffsetWithBoundary,\n offset,\n crossOffset,\n isContainerPositioned,\n maxHeight\n );\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\nimport {RefObject, useEffect} from 'react';\n\n// This behavior moved from useOverlayTrigger to useOverlayPosition.\n// For backward compatibility, where useOverlayTrigger handled hiding the popover on close,\n// it sets a close function here mapped from the trigger element. This way we can avoid\n// forcing users to pass an onClose function to useOverlayPosition which could be considered\n// a breaking change.\nexport const onCloseMap: WeakMap void> = new WeakMap();\n\ninterface CloseOnScrollOptions {\n triggerRef: RefObject,\n isOpen?: boolean,\n onClose?: () => void\n}\n\n/** @private */\nexport function useCloseOnScroll(opts: CloseOnScrollOptions) {\n let {triggerRef, isOpen, onClose} = opts;\n\n useEffect(() => {\n if (!isOpen) {\n return;\n }\n\n let onScroll = (e: MouseEvent) => {\n // Ignore if scrolling an scrollable region outside the trigger's tree.\n let target = e.target;\n // window is not a Node and doesn't have contain, but window contains everything\n if (!triggerRef.current || ((target instanceof Node) && !target.contains(triggerRef.current))) {\n return;\n }\n\n let onCloseHandler = onClose || onCloseMap.get(triggerRef.current);\n if (onCloseHandler) {\n onCloseHandler();\n }\n };\n\n window.addEventListener('scroll', onScroll, true);\n return () => {\n window.removeEventListener('scroll', onScroll, true);\n };\n }, [isOpen, onClose, triggerRef]);\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\nimport {calculatePosition, PositionResult} from './calculatePosition';\nimport {HTMLAttributes, RefObject, useCallback, useRef, useState} from 'react';\nimport {Placement, PlacementAxis, PositionProps} from '@react-types/overlays';\nimport {useCloseOnScroll} from './useCloseOnScroll';\nimport {useLayoutEffect} from '@react-aria/utils';\nimport {useLocale} from '@react-aria/i18n';\n\ninterface AriaPositionProps extends PositionProps {\n /**\n * Element that that serves as the positioning boundary.\n * @default document.body\n */\n boundaryElement?: HTMLElement,\n /**\n * The ref for the element which the overlay positions itself with respect to.\n */\n targetRef: RefObject,\n /**\n * The ref for the overlay element.\n */\n overlayRef: RefObject,\n /**\n * A ref for the scrollable region within the overlay.\n * @default overlayRef\n */\n scrollRef?: RefObject,\n /**\n * Whether the overlay should update its position automatically.\n * @default true\n */\n shouldUpdatePosition?: boolean,\n /** Handler that is called when the overlay should close. */\n onClose?: () => void,\n /**\n * The maxHeight specified for the overlay element. \n * By default, it will take all space up to the current viewport height.\n */\n maxHeight?: number\n}\n\ninterface PositionAria {\n /** Props for the overlay container element. */\n overlayProps: HTMLAttributes,\n /** Props for the overlay tip arrow if any. */\n arrowProps: HTMLAttributes,\n /** Placement of the overlay with respect to the overlay trigger. */\n placement: PlacementAxis,\n /** Updates the position of the overlay. */\n updatePosition(): void\n}\n\n// @ts-ignore\nlet visualViewport = typeof window !== 'undefined' && window.visualViewport;\n\n/**\n * Handles positioning overlays like popovers and menus relative to a trigger\n * element, and updating the position when the window resizes.\n */\nexport function useOverlayPosition(props: AriaPositionProps): PositionAria {\n let {direction} = useLocale();\n let {\n targetRef,\n overlayRef,\n scrollRef = overlayRef,\n placement = 'bottom' as Placement,\n containerPadding = 12,\n shouldFlip = true,\n boundaryElement = typeof document !== 'undefined' ? document.body : null,\n offset = 0,\n crossOffset = 0,\n shouldUpdatePosition = true,\n isOpen = true,\n onClose,\n maxHeight\n } = props;\n let [position, setPosition] = useState({\n position: {},\n arrowOffsetLeft: undefined,\n arrowOffsetTop: undefined,\n maxHeight: undefined,\n placement: undefined\n });\n\n let deps = [\n shouldUpdatePosition,\n placement,\n overlayRef.current,\n targetRef.current,\n scrollRef.current,\n containerPadding,\n shouldFlip,\n boundaryElement,\n offset,\n crossOffset,\n isOpen,\n direction,\n maxHeight\n ];\n\n let updatePosition = useCallback(() => {\n if (shouldUpdatePosition === false || !isOpen || !overlayRef.current || !targetRef.current || !scrollRef.current || !boundaryElement) {\n return;\n }\n\n setPosition(\n calculatePosition({\n placement: translateRTL(placement, direction),\n overlayNode: overlayRef.current,\n targetNode: targetRef.current,\n scrollNode: scrollRef.current,\n padding: containerPadding,\n shouldFlip,\n boundaryElement,\n offset,\n crossOffset,\n maxHeight\n })\n );\n }, deps);\n\n // Update position when anything changes\n useLayoutEffect(updatePosition, deps);\n\n // Update position on window resize\n useResize(updatePosition);\n\n // Reposition the overlay and do not close on scroll while the visual viewport is resizing.\n // This will ensure that overlays adjust their positioning when the iOS virtual keyboard appears.\n let isResizing = useRef(false);\n useLayoutEffect(() => {\n let timeout: NodeJS.Timeout;\n let onResize = () => {\n isResizing.current = true;\n clearTimeout(timeout);\n\n timeout = setTimeout(() => {\n isResizing.current = false;\n }, 500);\n\n updatePosition();\n };\n\n visualViewport?.addEventListener('resize', onResize);\n\n return () => {\n visualViewport?.removeEventListener('resize', onResize);\n };\n }, [updatePosition]);\n\n let close = useCallback(() => {\n if (!isResizing.current) {\n onClose();\n }\n }, [onClose, isResizing]);\n\n // When scrolling a parent scrollable region of the trigger (other than the body),\n // we hide the popover. Otherwise, its position would be incorrect.\n useCloseOnScroll({\n triggerRef: targetRef,\n isOpen,\n onClose: onClose ? close : undefined\n });\n\n return {\n overlayProps: {\n style: {\n position: 'absolute',\n zIndex: 100000, // should match the z-index in ModalTrigger\n ...position.position,\n maxHeight: position.maxHeight\n }\n },\n placement: position.placement,\n arrowProps: {\n style: {\n left: position.arrowOffsetLeft,\n top: position.arrowOffsetTop\n }\n },\n updatePosition\n };\n}\n\nfunction useResize(onResize) {\n useLayoutEffect(() => {\n window.addEventListener('resize', onResize, false);\n return () => {\n window.removeEventListener('resize', onResize, false);\n };\n }, [onResize]);\n}\n\nfunction translateRTL(position, direction) {\n if (direction === 'rtl') {\n return position.replace('start', 'right').replace('end', 'left');\n }\n return position.replace('start', 'left').replace('end', 'right');\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\nimport {HTMLAttributes, RefObject, SyntheticEvent, useEffect} from 'react';\nimport {useFocusWithin, useInteractOutside} from '@react-aria/interactions';\n\ninterface OverlayProps {\n /** Whether the overlay is currently open. */\n isOpen?: boolean,\n\n /** Handler that is called when the overlay should close. */\n onClose?: () => void,\n\n /**\n * Whether to close the overlay when the user interacts outside it.\n * @default false\n */\n isDismissable?: boolean,\n\n /** Whether the overlay should close when focus is lost or moves outside it. */\n shouldCloseOnBlur?: boolean,\n\n /**\n * Whether pressing the escape key to close the overlay should be disabled.\n * @default false\n */\n isKeyboardDismissDisabled?: boolean,\n\n /**\n * When user interacts with the argument element outside of the overlay ref,\n * return true if onClose should be called. This gives you a chance to filter\n * out interaction with elements that should not dismiss the overlay.\n * By default, onClose will always be called on interaction outside the overlay ref.\n */\n shouldCloseOnInteractOutside?: (element: HTMLElement) => boolean\n}\n\ninterface OverlayAria {\n /** Props to apply to the overlay container element. */\n overlayProps: HTMLAttributes,\n /** Props to apply to the underlay element, if any. */\n underlayProps: HTMLAttributes\n}\n\nconst visibleOverlays: RefObject[] = [];\n\n/**\n * Provides the behavior for overlays such as dialogs, popovers, and menus.\n * Hides the overlay when the user interacts outside it, when the Escape key is pressed,\n * or optionally, on blur. Only the top-most overlay will close at once.\n */\nexport function useOverlay(props: OverlayProps, ref: RefObject): OverlayAria {\n let {\n onClose,\n shouldCloseOnBlur,\n isOpen,\n isDismissable = false,\n isKeyboardDismissDisabled = false,\n shouldCloseOnInteractOutside\n } = props;\n\n // Add the overlay ref to the stack of visible overlays on mount, and remove on unmount.\n useEffect(() => {\n if (isOpen) {\n visibleOverlays.push(ref);\n }\n\n return () => {\n let index = visibleOverlays.indexOf(ref);\n if (index >= 0) {\n visibleOverlays.splice(index, 1);\n }\n };\n }, [isOpen, ref]);\n\n // Only hide the overlay when it is the topmost visible overlay in the stack.\n let onHide = () => {\n if (visibleOverlays[visibleOverlays.length - 1] === ref && onClose) {\n onClose();\n }\n };\n\n let onInteractOutsideStart = (e: SyntheticEvent) => {\n if (!shouldCloseOnInteractOutside || shouldCloseOnInteractOutside(e.target as HTMLElement)) {\n if (visibleOverlays[visibleOverlays.length - 1] === ref) {\n e.stopPropagation();\n e.preventDefault();\n }\n }\n };\n\n let onInteractOutside = (e: SyntheticEvent) => {\n if (!shouldCloseOnInteractOutside || shouldCloseOnInteractOutside(e.target as HTMLElement)) {\n if (visibleOverlays[visibleOverlays.length - 1] === ref) {\n e.stopPropagation();\n e.preventDefault();\n }\n onHide();\n }\n };\n\n // Handle the escape key\n let onKeyDown = (e) => {\n if (e.key === 'Escape' && !isKeyboardDismissDisabled) {\n e.stopPropagation();\n e.preventDefault();\n onHide();\n }\n };\n\n // Handle clicking outside the overlay to close it\n useInteractOutside({ref, onInteractOutside: isDismissable ? onInteractOutside : null, onInteractOutsideStart});\n\n let {focusWithinProps} = useFocusWithin({\n isDisabled: !shouldCloseOnBlur,\n onBlurWithin: (e) => {\n if (!shouldCloseOnInteractOutside || shouldCloseOnInteractOutside(e.relatedTarget as HTMLElement)) {\n onClose();\n }\n }\n });\n\n let onPointerDownUnderlay = e => {\n // fixes a firefox issue that starts text selection https://bugzilla.mozilla.org/show_bug.cgi?id=1675846\n if (e.target === e.currentTarget) {\n e.preventDefault();\n }\n };\n\n return {\n overlayProps: {\n onKeyDown,\n ...focusWithinProps\n },\n underlayProps: {\n onPointerDown: onPointerDownUnderlay\n }\n };\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\nimport {AriaButtonProps} from '@react-types/button';\nimport {HTMLAttributes, RefObject, useEffect} from 'react';\nimport {onCloseMap} from './useCloseOnScroll';\nimport {OverlayTriggerState} from '@react-stately/overlays';\nimport {useId} from '@react-aria/utils';\n\ninterface OverlayTriggerProps {\n /** Type of overlay that is opened by the trigger. */\n type: 'dialog' | 'menu' | 'listbox' | 'tree' | 'grid'\n}\n\ninterface OverlayTriggerAria {\n /** Props for the trigger element. */\n triggerProps: AriaButtonProps,\n\n /** Props for the overlay container element. */\n overlayProps: HTMLAttributes\n}\n\n/**\n * Handles the behavior and accessibility for an overlay trigger, e.g. a button\n * that opens a popover, menu, or other overlay that is positioned relative to the trigger.\n */\nexport function useOverlayTrigger(props: OverlayTriggerProps, state: OverlayTriggerState, ref: RefObject): OverlayTriggerAria {\n let {type} = props;\n let {isOpen} = state;\n\n // Backward compatibility. Share state close function with useOverlayPosition so it can close on scroll\n // without forcing users to pass onClose.\n useEffect(() => {\n if (ref && ref.current) {\n onCloseMap.set(ref.current, state.close);\n }\n });\n\n // Aria 1.1 supports multiple values for aria-haspopup other than just menus.\n // https://www.w3.org/TR/wai-aria-1.1/#aria-haspopup\n // However, we only add it for menus for now because screen readers often\n // announce it as a menu even for other values.\n let ariaHasPopup = undefined;\n if (type === 'menu') {\n ariaHasPopup = true;\n } else if (type === 'listbox') {\n ariaHasPopup = 'listbox';\n }\n\n let overlayId = useId();\n return {\n triggerProps: {\n 'aria-haspopup': ariaHasPopup,\n 'aria-expanded': isOpen,\n 'aria-controls': isOpen ? overlayId : null\n },\n overlayProps: {\n id: overlayId\n }\n };\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\nimport {chain, getScrollParent, isIOS, useLayoutEffect} from '@react-aria/utils';\n\ninterface PreventScrollOptions {\n /** Whether the scroll lock is disabled. */\n isDisabled?: boolean\n}\n\n// @ts-ignore\nconst visualViewport = typeof window !== 'undefined' && window.visualViewport;\n\n// HTML input types that do not cause the software keyboard to appear.\nconst nonTextInputTypes = new Set([\n 'checkbox',\n 'radio',\n 'range',\n 'color',\n 'file',\n 'image',\n 'button',\n 'submit',\n 'reset'\n]);\n\n/**\n * Prevents scrolling on the document body on mount, and\n * restores it on unmount. Also ensures that content does not\n * shift due to the scrollbars disappearing.\n */\nexport function usePreventScroll(options: PreventScrollOptions = {}) {\n let {isDisabled} = options;\n\n useLayoutEffect(() => {\n if (isDisabled) {\n return;\n }\n\n if (isIOS()) {\n return preventScrollMobileSafari();\n } else {\n return preventScrollStandard();\n }\n }, [isDisabled]);\n}\n\n// For most browsers, all we need to do is set `overflow: hidden` on the root element, and\n// add some padding to prevent the page from shifting when the scrollbar is hidden.\nfunction preventScrollStandard() {\n return chain(\n setStyle(document.documentElement, 'paddingRight', `${window.innerWidth - document.documentElement.clientWidth}px`),\n setStyle(document.documentElement, 'overflow', 'hidden')\n );\n}\n\n// Mobile Safari is a whole different beast. Even with overflow: hidden,\n// it still scrolls the page in many situations:\n//\n// 1. When the bottom toolbar and address bar are collapsed, page scrolling is always allowed.\n// 2. When the keyboard is visible, the viewport does not resize. Instead, the keyboard covers part of\n// it, so it becomes scrollable.\n// 3. When tapping on an input, the page always scrolls so that the input is centered in the visual viewport.\n// This may cause even fixed position elements to scroll off the screen.\n// 4. When using the next/previous buttons in the keyboard to navigate between inputs, the whole page always\n// scrolls, even if the input is inside a nested scrollable element that could be scrolled instead.\n//\n// In order to work around these cases, and prevent scrolling without jankiness, we do a few things:\n//\n// 1. Prevent default on `touchmove` events that are not in a scrollable element. This prevents touch scrolling\n// on the window.\n// 2. Prevent default on `touchmove` events inside a scrollable element when the scroll position is at the\n// top or bottom. This avoids the whole page scrolling instead, but does prevent overscrolling.\n// 3. Prevent default on `touchend` events on input elements and handle focusing the element ourselves.\n// 4. When focusing an input, apply a transform to trick Safari into thinking the input is at the top\n// of the page, which prevents it from scrolling the page. After the input is focused, scroll the element\n// into view ourselves, without scrolling the whole page.\n// 5. Offset the body by the scroll position using a negative margin and scroll to the top. This should appear the\n// same visually, but makes the actual scroll position always zero. This is required to make all of the\n// above work or Safari will still try to scroll the page when focusing an input.\n// 6. As a last resort, handle window scroll events, and scroll back to the top. This can happen when attempting\n// to navigate to an input with the next/previous buttons that's outside a modal.\nfunction preventScrollMobileSafari() {\n let scrollable: Element;\n let lastY = 0;\n let onTouchStart = (e: TouchEvent) => {\n // Store the nearest scrollable parent element from the element that the user touched.\n scrollable = getScrollParent(e.target as Element);\n if (scrollable === document.documentElement && scrollable === document.body) {\n return;\n }\n\n lastY = e.changedTouches[0].pageY;\n };\n\n let onTouchMove = (e: TouchEvent) => {\n // Prevent scrolling the window.\n if (scrollable === document.documentElement || scrollable === document.body) {\n e.preventDefault();\n return;\n }\n\n // Prevent scrolling up when at the top and scrolling down when at the bottom\n // of a nested scrollable area, otherwise mobile Safari will start scrolling\n // the window instead. Unfortunately, this disables bounce scrolling when at\n // the top but it's the best we can do.\n let y = e.changedTouches[0].pageY;\n let scrollTop = scrollable.scrollTop;\n let bottom = scrollable.scrollHeight - scrollable.clientHeight;\n\n if ((scrollTop <= 0 && y > lastY) || (scrollTop >= bottom && y < lastY)) {\n e.preventDefault();\n }\n\n lastY = y;\n };\n\n let onTouchEnd = (e: TouchEvent) => {\n let target = e.target as HTMLElement;\n\n // Apply this change if we're not already focused on the target element\n if (willOpenKeyboard(target) && target !== document.activeElement) {\n e.preventDefault();\n\n // Apply a transform to trick Safari into thinking the input is at the top of the page\n // so it doesn't try to scroll it into view. When tapping on an input, this needs to\n // be done before the \"focus\" event, so we have to focus the element ourselves.\n target.style.transform = 'translateY(-2000px)';\n target.focus();\n requestAnimationFrame(() => {\n target.style.transform = '';\n });\n }\n };\n\n let onFocus = (e: FocusEvent) => {\n let target = e.target as HTMLElement;\n if (willOpenKeyboard(target)) {\n // Transform also needs to be applied in the focus event in cases where focus moves\n // other than tapping on an input directly, e.g. the next/previous buttons in the\n // software keyboard. In these cases, it seems applying the transform in the focus event\n // is good enough, whereas when tapping an input, it must be done before the focus event. 🤷‍♂️\n target.style.transform = 'translateY(-2000px)';\n requestAnimationFrame(() => {\n target.style.transform = '';\n\n // This will have prevented the browser from scrolling the focused element into view,\n // so we need to do this ourselves in a way that doesn't cause the whole page to scroll.\n if (visualViewport) {\n if (visualViewport.height < window.innerHeight) {\n // If the keyboard is already visible, do this after one additional frame\n // to wait for the transform to be removed.\n requestAnimationFrame(() => {\n scrollIntoView(target);\n });\n } else {\n // Otherwise, wait for the visual viewport to resize before scrolling so we can\n // measure the correct position to scroll to.\n visualViewport.addEventListener('resize', () => scrollIntoView(target), {once: true});\n }\n }\n });\n }\n };\n\n let onWindowScroll = () => {\n // Last resort. If the window scrolled, scroll it back to the top.\n // It should always be at the top because the body will have a negative margin (see below).\n window.scrollTo(0, 0);\n };\n\n // Record the original scroll position so we can restore it.\n // Then apply a negative margin to the body to offset it by the scroll position. This will\n // enable us to scroll the window to the top, which is required for the rest of this to work.\n let scrollX = window.pageXOffset;\n let scrollY = window.pageYOffset;\n let restoreStyles = chain(\n setStyle(document.documentElement, 'paddingRight', `${window.innerWidth - document.documentElement.clientWidth}px`),\n setStyle(document.documentElement, 'overflow', 'hidden'),\n setStyle(document.body, 'marginTop', `-${scrollY}px`)\n );\n\n // Scroll to the top. The negative margin on the body will make this appear the same.\n window.scrollTo(0, 0);\n\n let removeEvents = chain(\n addEvent(document, 'touchstart', onTouchStart, {passive: false, capture: true}),\n addEvent(document, 'touchmove', onTouchMove, {passive: false, capture: true}),\n addEvent(document, 'touchend', onTouchEnd, {passive: false, capture: true}),\n addEvent(document, 'focus', onFocus, true),\n addEvent(window, 'scroll', onWindowScroll)\n );\n\n return () => {\n // Restore styles and scroll the page back to where it was.\n restoreStyles();\n removeEvents();\n window.scrollTo(scrollX, scrollY);\n };\n}\n\n// Sets a CSS property on an element, and returns a function to revert it to the previous value.\nfunction setStyle(element: HTMLElement, style: string, value: string) {\n let cur = element.style[style];\n element.style[style] = value;\n return () => {\n element.style[style] = cur;\n };\n}\n\n// Adds an event listener to an element, and returns a function to remove it.\nfunction addEvent(\n target: EventTarget,\n event: K,\n handler: (this: Document, ev: GlobalEventHandlersEventMap[K]) => any,\n options?: boolean | AddEventListenerOptions\n) {\n target.addEventListener(event, handler, options);\n return () => {\n target.removeEventListener(event, handler, options);\n };\n}\n\nfunction scrollIntoView(target: Element) {\n let root = document.scrollingElement || document.documentElement;\n while (target && target !== root) {\n // Find the parent scrollable element and adjust the scroll position if the target is not already in view.\n let scrollable = getScrollParent(target);\n if (scrollable !== document.documentElement && scrollable !== document.body && scrollable !== target) {\n let scrollableTop = scrollable.getBoundingClientRect().top;\n let targetTop = target.getBoundingClientRect().top;\n if (targetTop > scrollableTop + target.clientHeight) {\n scrollable.scrollTop += targetTop - scrollableTop;\n }\n }\n\n target = scrollable.parentElement;\n }\n}\n\nfunction willOpenKeyboard(target: Element) {\n return (\n (target instanceof HTMLInputElement && !nonTextInputTypes.has(target.type)) ||\n target instanceof HTMLTextAreaElement ||\n (target instanceof HTMLElement && target.isContentEditable)\n );\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\nimport React, {AriaAttributes, HTMLAttributes, ReactNode, useContext, useEffect, useMemo, useState} from 'react';\nimport ReactDOM from 'react-dom';\n\ninterface ModalProviderProps extends HTMLAttributes {\n children: ReactNode\n}\n\ninterface ModalContext {\n parent: ModalContext | null,\n modalCount: number,\n addModal: () => void,\n removeModal: () => void\n}\n\nconst Context = React.createContext(null);\n\n/**\n * Each ModalProvider tracks how many modals are open in its subtree. On mount, the modals\n * trigger `addModal` to increment the count, and trigger `removeModal` on unmount to decrement it.\n * This is done recursively so that all parent providers are incremented and decremented.\n * If the modal count is greater than zero, we add `aria-hidden` to this provider to hide its\n * subtree from screen readers. This is done using React context in order to account for things\n * like portals, which can cause the React tree and the DOM tree to differ significantly in structure.\n */\nexport function ModalProvider(props: ModalProviderProps) {\n let {children} = props;\n let parent = useContext(Context);\n let [modalCount, setModalCount] = useState(0);\n let context = useMemo(() => ({\n parent,\n modalCount,\n addModal() {\n setModalCount(count => count + 1);\n if (parent) {\n parent.addModal();\n }\n },\n removeModal() {\n setModalCount(count => count - 1);\n if (parent) {\n parent.removeModal();\n }\n }\n }), [parent, modalCount]);\n\n return (\n \n {children}\n \n );\n}\n\ninterface ModalProviderAria {\n /**\n * Props to be spread on the container element.\n */\n modalProviderProps: AriaAttributes\n}\n\n/**\n * Used to determine if the tree should be aria-hidden based on how many\n * modals are open.\n */\nexport function useModalProvider(): ModalProviderAria {\n let context = useContext(Context);\n return {\n modalProviderProps: {\n 'aria-hidden': context && context.modalCount > 0 ? true : null\n }\n };\n}\n\n/**\n * Creates a root node that will be aria-hidden if there are other modals open.\n */\nfunction OverlayContainerDOM(props: ModalProviderProps) {\n let {modalProviderProps} = useModalProvider();\n return
;\n}\n\n/**\n * An OverlayProvider acts as a container for the top-level application.\n * Any application that uses modal dialogs or other overlays should\n * be wrapped in a ``. This is used to ensure that\n * the main content of the application is hidden from screen readers\n * if a modal or other overlay is opened. Only the top-most modal or\n * overlay should be accessible at once.\n */\nexport function OverlayProvider(props: ModalProviderProps) {\n return (\n \n \n \n );\n}\n\ninterface OverlayContainerProps extends ModalProviderProps {\n /**\n * The container element in which the overlay portal will be placed.\n * @default document.body\n */\n portalContainer?: HTMLElement\n}\n\n/**\n * A container for overlays like modals and popovers. Renders the overlay\n * into a Portal which is placed at the end of the document body.\n * Also ensures that the overlay is hidden from screen readers if a\n * nested modal is opened. Only the top-most modal or overlay should\n * be accessible at once.\n */\nexport function OverlayContainer(props: OverlayContainerProps): React.ReactPortal {\n let {portalContainer = document.body, ...rest} = props;\n\n React.useEffect(() => {\n if (portalContainer.closest('[data-overlay-container]')) {\n throw new Error('An OverlayContainer must not be inside another container. Please change the portalContainer prop.');\n }\n }, [portalContainer]);\n\n let contents = ;\n return ReactDOM.createPortal(contents, portalContainer);\n}\n\ninterface ModalAriaProps extends HTMLAttributes {\n /** Data attribute marks the dom node as a modal for the aria-modal-polyfill. */\n 'data-ismodal': boolean\n}\n\ninterface ModalOptions {\n isDisabled?: boolean\n}\n\ninterface ModalAria {\n /** Props for the modal content element. */\n modalProps: ModalAriaProps\n}\n\n/**\n * Hides content outside the current `` from screen readers\n * on mount and restores it on unmount. Typically used by modal dialogs and\n * other types of overlays to ensure that only the top-most modal is\n * accessible at once.\n */\nexport function useModal(options?: ModalOptions): ModalAria {\n // Add aria-hidden to all parent providers on mount, and restore on unmount.\n let context = useContext(Context);\n if (!context) {\n throw new Error('Modal is not contained within a provider');\n }\n\n useEffect(() => {\n if (options?.isDisabled || !context || !context.parent) {\n return;\n }\n\n // The immediate context is from the provider containing this modal, so we only\n // want to trigger aria-hidden on its parents not on the modal provider itself.\n context.parent.addModal();\n return () => {\n if (context && context.parent) {\n context.parent.removeModal();\n }\n };\n }, [context, context.parent, options?.isDisabled]);\n\n return {\n modalProps: {\n 'data-ismodal': !options?.isDisabled\n }\n };\n}\n","{\n \"dismiss\": \"تجاهل\"\n}\n","{\n \"dismiss\": \"Отхвърляне\"\n}\n","{\n \"dismiss\": \"Odstranit\"\n}\n","{\n \"dismiss\": \"Luk\"\n}\n","{\n \"dismiss\": \"Schließen\"\n}\n","{\n \"dismiss\": \"Απόρριψη\"\n}\n","{\n \"dismiss\": \"Dismiss\"\n}\n","{\n \"dismiss\": \"Descartar\"\n}\n","{\n \"dismiss\": \"Lõpeta\"\n}\n","{\n \"dismiss\": \"Hylkää\"\n}\n","{\n \"dismiss\": \"Rejeter\"\n}\n","{\n \"dismiss\": \"התעלם\"\n}\n","{\n \"dismiss\": \"Odbaci\"\n}\n","{\n \"dismiss\": \"Elutasítás\"\n}\n","{\n \"dismiss\": \"Ignora\"\n}\n","{\n \"dismiss\": \"閉じる\"\n}\n","{\n \"dismiss\": \"무시\"\n}\n","{\n \"dismiss\": \"Atmesti\"\n}\n","{\n \"dismiss\": \"Nerādīt\"\n}\n","{\n \"dismiss\": \"Lukk\"\n}\n","{\n \"dismiss\": \"Negeren\"\n}\n","{\n \"dismiss\": \"Zignoruj\"\n}\n","{\n \"dismiss\": \"Descartar\"\n}\n","{\n \"dismiss\": \"Dispensar\"\n}\n","{\n \"dismiss\": \"Revocare\"\n}\n","{\n \"dismiss\": \"Пропустить\"\n}\n","{\n \"dismiss\": \"Zrušiť\"\n}\n","{\n \"dismiss\": \"Opusti\"\n}\n","{\n \"dismiss\": \"Odbaci\"\n}\n","{\n \"dismiss\": \"Avvisa\"\n}\n","{\n \"dismiss\": \"Kapat\"\n}\n","{\n \"dismiss\": \"Скасувати\"\n}\n","{\n \"dismiss\": \"取消\"\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\nimport {AriaLabelingProps, DOMProps} from '@react-types/shared';\n// @ts-ignore\nimport intlMessages from '../intl/*.json';\nimport React from 'react';\nimport {useLabels} from '@react-aria/utils';\nimport {useMessageFormatter} from '@react-aria/i18n';\nimport {VisuallyHidden} from '@react-aria/visually-hidden';\n\ninterface DismissButtonProps extends AriaLabelingProps, DOMProps {\n /** Called when the dismiss button is activated. */\n onDismiss?: () => void\n}\n\n/**\n * A visually hidden button that can be used to allow screen reader\n * users to dismiss a modal or popup when there is no visual\n * affordance to do so.\n */\nexport function DismissButton(props: DismissButtonProps) {\n let {onDismiss, ...otherProps} = props;\n let formatMessage = useMessageFormatter(intlMessages);\n\n let labels = useLabels(otherProps, formatMessage('dismiss'));\n\n let onClick = () => {\n if (onDismiss) {\n onDismiss();\n }\n };\n\n return (\n \n \n \n );\n}\n","{\n \"dismiss\": \"關閉\"\n}\n","const _temp0 = require(\"./ar-AE.json\");\nconst _temp1 = require(\"./bg-BG.json\");\nconst _temp2 = require(\"./cs-CZ.json\");\nconst _temp3 = require(\"./da-DK.json\");\nconst _temp4 = require(\"./de-DE.json\");\nconst _temp5 = require(\"./el-GR.json\");\nconst _temp6 = require(\"./en-US.json\");\nconst _temp7 = require(\"./es-ES.json\");\nconst _temp8 = require(\"./et-EE.json\");\nconst _temp9 = require(\"./fi-FI.json\");\nconst _temp10 = require(\"./fr-FR.json\");\nconst _temp11 = require(\"./he-IL.json\");\nconst _temp12 = require(\"./hr-HR.json\");\nconst _temp13 = require(\"./hu-HU.json\");\nconst _temp14 = require(\"./it-IT.json\");\nconst _temp15 = require(\"./ja-JP.json\");\nconst _temp16 = require(\"./ko-KR.json\");\nconst _temp17 = require(\"./lt-LT.json\");\nconst _temp18 = require(\"./lv-LV.json\");\nconst _temp19 = require(\"./nb-NO.json\");\nconst _temp20 = require(\"./nl-NL.json\");\nconst _temp21 = require(\"./pl-PL.json\");\nconst _temp22 = require(\"./pt-BR.json\");\nconst _temp23 = require(\"./pt-PT.json\");\nconst _temp24 = require(\"./ro-RO.json\");\nconst _temp25 = require(\"./ru-RU.json\");\nconst _temp26 = require(\"./sk-SK.json\");\nconst _temp27 = require(\"./sl-SI.json\");\nconst _temp28 = require(\"./sr-SP.json\");\nconst _temp29 = require(\"./sv-SE.json\");\nconst _temp30 = require(\"./tr-TR.json\");\nconst _temp31 = require(\"./uk-UA.json\");\nconst _temp32 = require(\"./zh-CN.json\");\nconst _temp33 = require(\"./zh-TW.json\");\nmodule.exports = {\n \"ar-AE\": _temp0,\n \"bg-BG\": _temp1,\n \"cs-CZ\": _temp2,\n \"da-DK\": _temp3,\n \"de-DE\": _temp4,\n \"el-GR\": _temp5,\n \"en-US\": _temp6,\n \"es-ES\": _temp7,\n \"et-EE\": _temp8,\n \"fi-FI\": _temp9,\n \"fr-FR\": _temp10,\n \"he-IL\": _temp11,\n \"hr-HR\": _temp12,\n \"hu-HU\": _temp13,\n \"it-IT\": _temp14,\n \"ja-JP\": _temp15,\n \"ko-KR\": _temp16,\n \"lt-LT\": _temp17,\n \"lv-LV\": _temp18,\n \"nb-NO\": _temp19,\n \"nl-NL\": _temp20,\n \"pl-PL\": _temp21,\n \"pt-BR\": _temp22,\n \"pt-PT\": _temp23,\n \"ro-RO\": _temp24,\n \"ru-RU\": _temp25,\n \"sk-SK\": _temp26,\n \"sl-SI\": _temp27,\n \"sr-SP\": _temp28,\n \"sv-SE\": _temp29,\n \"tr-TR\": _temp30,\n \"uk-UA\": _temp31,\n \"zh-CN\": _temp32,\n \"zh-TW\": _temp33\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// Keeps a ref count of all hidden elements. Added to when hiding an element, and\n// subtracted from when showing it again. When it reaches zero, aria-hidden is removed.\nlet refCountMap = new WeakMap();\n\n/**\n * Hides all elements in the DOM outside the given targets from screen readers using aria-hidden,\n * and returns a function to revert these changes. In addition, changes to the DOM are watched\n * and new elements outside the targets are automatically hidden.\n * @param targets - The elements that should remain visible.\n * @param root - Nothing will be hidden above this element.\n * @returns - A function to restore all hidden elements.\n */\nexport function ariaHideOutside(targets: HTMLElement[], root = document.body) {\n let visibleNodes = new Set(targets);\n let hiddenNodes = new Set();\n let walker = document.createTreeWalker(\n root,\n NodeFilter.SHOW_ELEMENT,\n {\n acceptNode(node) {\n // If this node is a live announcer, add it to the set of nodes to keep visible.\n if ((node instanceof HTMLElement && node.dataset.liveAnnouncer === 'true')) {\n visibleNodes.add(node);\n }\n\n // Skip this node and its children if it is one of the target nodes, or a live announcer.\n // Also skip children of already hidden nodes, as aria-hidden is recursive.\n if (\n visibleNodes.has(node as Element) ||\n hiddenNodes.has(node.parentElement)\n ) {\n return NodeFilter.FILTER_REJECT;\n }\n\n // VoiceOver on iOS has issues hiding elements with role=\"row\". Hide the cells inside instead.\n // https://bugs.webkit.org/show_bug.cgi?id=222623\n if (node instanceof HTMLElement && node.getAttribute('role') === 'row') {\n return NodeFilter.FILTER_SKIP;\n }\n\n // Skip this node but continue to children if one of the targets is inside the node.\n if (targets.some(target => node.contains(target))) {\n return NodeFilter.FILTER_SKIP;\n }\n\n return NodeFilter.FILTER_ACCEPT;\n }\n }\n );\n\n let hide = (node: Element) => {\n let refCount = refCountMap.get(node) ?? 0;\n\n // If already aria-hidden, and the ref count is zero, then this element\n // was already hidden and there's nothing for us to do.\n if (node.getAttribute('aria-hidden') === 'true' && refCount === 0) {\n return;\n }\n\n if (refCount === 0) {\n node.setAttribute('aria-hidden', 'true');\n }\n\n hiddenNodes.add(node);\n refCountMap.set(node, refCount + 1);\n };\n\n let node = walker.nextNode() as Element;\n while (node != null) {\n hide(node);\n node = walker.nextNode() as Element;\n }\n\n let observer = new MutationObserver(changes => {\n for (let change of changes) {\n if (change.type !== 'childList' || change.addedNodes.length === 0) {\n continue;\n }\n\n // If the parent element of the added nodes is not within one of the targets,\n // and not already inside a hidden node, hide all of the new children.\n if (![...visibleNodes, ...hiddenNodes].some(node => node.contains(change.target))) {\n for (let node of change.addedNodes) {\n if ((node instanceof HTMLElement && node.dataset.liveAnnouncer === 'true')) {\n visibleNodes.add(node);\n } else if (node instanceof Element) {\n hide(node);\n }\n }\n }\n }\n });\n\n observer.observe(root, {childList: true, subtree: true});\n\n return () => {\n observer.disconnect();\n\n for (let node of hiddenNodes) {\n let count = refCountMap.get(node);\n if (count === 1) {\n node.removeAttribute('aria-hidden');\n refCountMap.delete(node);\n } else {\n refCountMap.set(node, count - 1);\n }\n }\n };\n}\n","import e from\"react\";import{globalCss as t,getCssText as i}from\"../theme/stitches.config\";import{jsx as o}from\"react/jsx-runtime\";const n=t({\"*, *:before, *:after\":{boxSizing:\"border-box\",textRendering:\"geometricPrecision\",WebkitTapHighlightColor:\"transparent\"},html:{fontSize:\"$base\"},body:{margin:0,padding:0,minHeight:\"100%\",position:\"relative\",overflowX:\"hidden\",WebkitFontSmoothing:\"antialiased\",MozOsxFontSmoothing:\"grayscale\",textRendering:\"optimizeLegibility\",fontSize:\"$base\",lineHeight:\"$md\",fontFamily:\"$sans\"},\"html, body\":{backgroundColor:\"$background\",color:\"$text\"},\"p, small\":{color:\"inherit\",letterSpacing:\"$tighter\",fontWeight:\"$normal\",fontFamily:\"$sans\"},p:{margin:\"$md 0\",fontSize:\"$base\",lineHeight:\"$lg\"},small:{margin:0,lineHeight:\"$md\",fontSize:\"$xs\"},b:{fontWeight:\"$semibold\"},span:{fontSize:\"inherit\",color:\"inherit\",fontWeight:\"inherit\"},img:{maxWidth:\"100%\"},a:{cursor:\"pointer\",fontSize:\"inherit\",WebkitTouchCallout:\"none\",WebkitTapHighlightColor:\"rgba(0, 0, 0, 0)\",WebkitBoxAlign:\"center\",alignItems:\"center\",color:\"$link\",textDecoration:\"none\"},\"a:hover\":{textDecoration:\"none\"},\"ul,ol\":{padding:0,listStyleType:\"none\",margin:\"$sm $sm $sm $lg\",color:\"$foreground\"},ol:{listStyleType:\"decimal\"},li:{marginBottom:\"$5\",fontSize:\"$base\",lineHeight:\"$lg\"},\"h1,h2,h3,h4,h5,h6\":{color:\"inherit\",margin:\"0 0 $5 0\"},h1:{letterSpacing:\"$tighter\",lineHeight:\"$md\",fontSize:\"$xl\",fontWeight:\"$bold\"},h2:{letterSpacing:\"$tighter\",fontSize:\"$lg\",fontWeight:\"$semibold\"},h3:{letterSpacing:\"$tighter\",fontSize:\"$md\",fontWeight:\"$semibold\"},h4:{letterSpacing:\"$tighter\",fontSize:\"$sm\",fontWeight:\"$semibold\"},h5:{letterSpacing:\"$tight\",fontSize:\"$base\",fontWeight:\"$semibold\"},h6:{letterSpacing:\"$tight\",fontSize:\"$xs\",fontWeight:\"$semibold\"},\"button, input, select,textarea\":{fontFamily:\"inherit\",fontSize:\"inherit\",lineHeight:\"inherit\",color:\"inherit\",margin:0},\"button:focus, input:focus, select:focus, textarea:focus\":{outline:\"none\"},code:{color:\"$code\",padding:\"$1 $2\",borderRadius:\"$xs\",bg:\"$codeLight\",fontFamily:\"$mono\",fontSize:\"$xs\",whiteSpace:\"pre-wrap\",transition:\"opacity 0.25s ease 0s\"},\"code:hover\":{opacity:.8},pre:{overflow:\"auto\",whiteSpace:\"pre\",textAlign:\"left\",fontSize:\"$xs\",borderRadius:\"$lg\",padding:\"$md $lg\",margin:\"$lg 0 \",fontFamily:\"$mono\",lineHeight:\"$md\",webkitOverflowScrolling:\"touch\"},\"pre code\":{color:\"$foreground\",fontSize:\"$xs\",lineHeight:\"$sm\",whiteSpace:\"pre\"},\"pre code:before,pre code:after\":{display:\"none\"},\"pre p\":{margin:0},\"pre::-webkit-scrollbar\":{display:\"none\",width:0,height:0,background:\"transparent\"},hr:{borderColor:\"$accents2\"},details:{backgroundColor:\"$accents1\",border:\"none\"},\"details:focus, details:hover, details:active\":{outline:\"none\"},summary:{cursor:\"pointer\",userSelect:\"none\",listStyle:\"none\",outline:\"none\"},\"summary::-webkit-details-marker, summary::before\":{display:\"none\"},\"summary::-moz-list-bullet\":{fontSize:0},\"summary:focus, summary:hover, summary:active\":{outline:\"none\",listStyle:\"none\"},\"::selection\":{backgroundColor:\"$selection\"},blockquote:{padding:\"$md $lg\",color:\"$accents7\",backgroundColor:\"$accents0\",borderRadius:\"$lg\",margin:\"$10 0\"},\"blockquote *:first-child\":{marginTop:0},\"blockquote *:last-child\":{marginBottom:0},kbd:{width:\"fit-content\",textAlign:\"center\",display:\"inline-block\",color:\"$accents8\",bg:\"$accents0\",border:\"1px solid $border\",boxShadow:\"0 0 1px 0 rgb(0 0 0 / 14%)\",fontFamily:\"$mono\",borderRadius:\"5px\",padding:\"$1 $3\",mx:\"$1\",lineHeight:\"$sm\",fontSize:\"$tiny\"},\"kbd + kbd\":{ml:\"$2\"}}),r=({children:t})=>(n(),o(e.Fragment,{children:t})),l=e.memo(r);l.flush=()=>o(\"style\",{id:\"stitches\",dangerouslySetInnerHTML:{__html:i()}});export default l;","import t from\"react\";import{theme as e}from\"./stitches.config\";export const defaultContext={isDark:!1,theme:e,type:\"light\"};const o=t.createContext(defaultContext);export default o;","import e from\"./common\";import t from\"./light-theme\";import l from\"../utils/clsx\";export const getTokenValue=(t,l)=>{if(!document||!t)return\"\";let o=getComputedStyle(document.documentElement);const r=`--${e.prefix}-${t}-${l}`,n=o.getPropertyValue(r);return n&&n.includes(\"var\")&&getTokenValue(t,n),n};export const getDocumentCSSTokens=()=>{const l=[...Object.keys(e.theme.colors),...Object.keys(t.colors)],o=Object.keys(t.shadows);return{colors:l.reduce(((t,l)=>{const o=getTokenValue(\"colors\",l);return o&&(t[l]={prefix:e.prefix,scale:\"colors\",token:l,value:o}),t}),{}),shadows:o.reduce(((t,l)=>{const o=getTokenValue(\"shadows\",l);return o&&(t[l]={prefix:e.prefix,scale:\"shadows\",token:l,value:o}),t}),{})}};export const getDocumentTheme=e=>{var t;const l=(null==e||null==(t=e.getAttribute(\"style\"))?void 0:t.split(\";\").map((e=>e.trim())).filter((e=>e.includes(\"color-scheme\"))))||[],o=l.length>0?l[0].replace(\"color-scheme: \",\"\").replace(\";\",\"\"):\"\";return(null==e?void 0:e.getAttribute(\"data-theme\"))||o};export const getThemeName=e=>\"string\"==typeof e&&null!=e&&e.includes(\"-theme\")?null==e?void 0:e.replace(\"-theme\",\"\"):e;export const changeTheme=e=>{var t,o;if(!document)return;const r=document.documentElement,n=(null==r||null==(t=r.getAttribute(\"class\"))?void 0:t.split(\" \").filter((e=>!e.includes(\"theme\")&&!e.includes(\"light\")&&!e.includes(\"dark\"))))||[],s=(null==r||null==(o=r.getAttribute(\"style\"))?void 0:o.split(\";\").filter((e=>!e.includes(\"color-scheme\")&&e.length)).map((e=>`${e};`)))||[];null==r||r.setAttribute(\"class\",l(n,`${getThemeName(e)}-theme`)),null==r||r.setAttribute(\"style\",l(s,`color-scheme: ${e};`))};","import r from\"./use-ssr\";export default r;","import{useEffect as e,useState as o}from\"react\";export default()=>{const[n,r]=o(!1);return e((()=>{r(Boolean(\"undefined\"!=typeof window&&window.document&&window.document.createElement))}),[]),{isBrowser:n,isServer:!n}};","import e,{useState as t,useMemo as r,useEffect as o}from\"react\";import{SSRProvider as m}from\"@react-aria/ssr\";import{OverlayProvider as s}from\"@react-aria/overlays\";import i from\"../css-baseline\";import l,{defaultContext as a}from\"./theme-context\";import n from\"../utils/with-defaults\";import u from\"../utils/deep-merge\";import{copyObject as d}from\"../utils/object\";import{changeTheme as c,getThemeName as p,getDocumentCSSTokens as v,getDocumentTheme as f}from\"./utils\";import b from\"../use-ssr\";import{jsx as h}from\"react/jsx-runtime\";import{jsxs as y}from\"react/jsx-runtime\";export default n((({theme:e,disableBaseline:n,children:x})=>{const{isBrowser:j}=b(),[B,N]=t(a.type),g=e=>{N((t=>t!==e?e:t))},w=e=>{const t=f(e);t&&g(t)},E=r((()=>{const e=j?v():{},t=u(d(a.theme),e),r=p(B);return{theme:t,type:r,isDark:\"dark\"===r}}),[B,j]);return o((()=>{var e,t,r;w(null==(e=document)?void 0:e.documentElement);const o=new MutationObserver((e=>{var t;if(e&&e.length>0&&\"BODY\"===(null==(t=e[0])?void 0:t.target.nodeName)){var r,o,m;const e=null==(r=document)||null==(o=r.body)||null==(m=o.dataset)?void 0:m.theme;e&&g(e)}else{var s;w(null==(s=document)?void 0:s.documentElement)}}));return o.observe(null==(t=document)?void 0:t.documentElement,{attributes:!0,attributeFilter:[\"data-theme\",\"style\"]}),o.observe(null==(r=document)?void 0:r.body,{attributes:!0,attributeFilter:[\"data-theme\",\"style\"]}),()=>o.disconnect()}),[]),o((()=>{j&&e&&null!=e&&e.className&&(c(e.className),g(p(e.className)))}),[j,e]),h(m,{children:h(s,{children:y(l.Provider,{value:E,children:[!n&&h(i,{}),x]})})})}),{disableBaseline:!1});","import{styled as t,sharedFocus as i,sharedVisuallyHidden as $}from\"../theme/stitches.config\";export const StyledSwitchContainer=t(\"label\",{WebkitTapHighlightColor:\"transparent\",d:\"inline-block\",verticalAlign:\"center\",whiteSpace:\"nowrap\",us:\"none\",transition:\"$default\",padding:\"$1 0\",position:\"relative\",cursor:\"pointer\",\"@motion\":{transition:\"none\"},variants:{color:{default:{$$switchColor:\"$colors$primary\",$$switchColorShadow:\"$colors$primaryShadow\",$$switchColorHover:\"$colors$primarySolidHover\"},primary:{$$switchColor:\"$colors$primary\",$$switchColorShadow:\"$colors$primaryShadow\",$$switchColorHover:\"$colors$primarySolidHover\"},secondary:{$$switchColor:\"$colors$secondary\",$$switchColorShadow:\"$colors$secondaryShadow\",$$switchColorHover:\"$colors$secondarySolidHover\"},success:{$$switchColor:\"$colors$success\",$$switchColorShadow:\"$colors$successShadow\",$$switchColorHover:\"$colors$successSolidHover\"},warning:{$$switchColor:\"$colors$warning\",$$switchColorShadow:\"$colors$warningShadow\",$$switchColorHover:\"$colors$warningSolidHover\"},error:{$$switchColor:\"$colors$error\",$$switchColorShadow:\"$colors$errorShadow\",$$switchColorHover:\"$colors$errorSolidHover\"}},size:{xs:{$$switchWidth:\"$space$12\",$$switchHeight:\"$space$9\",width:\" $$switchWidth\",maxWidth:\"$$switchWidth\",height:\"$$switchHeight\"},sm:{$$switchWidth:\"$space$14\",$$switchHeight:\"$space$10\",width:\"$$switchWidth\",maxWidth:\"$$switchWidth\",height:\"$$switchHeight\"},md:{$$switchWidth:\"$space$15\",$$switchHeight:\"$space$11\",width:\"$$switchWidth\",maxWidth:\"$$switchWidth\",height:\"$$switchHeight\"},lg:{$$switchWidth:\"$space$17\",$$switchHeight:\"$space$12\",width:\"$$switchWidth\",maxWidth:\"$$switchWidth\",height:\"$$switchHeight\"},xl:{$$switchWidth:\"$space$18\",$$switchHeight:\"$space$13\",width:\"$$switchWidth\",maxWidth:\"$$switchWidth\",height:\"$$switchHeight\"}},borderWeight:{light:{$$switchBorderW:\"$borderWeights$light\"},normal:{$$switchBorderW:\"$borderWeights$normal\"},bold:{$$switchBorderW:\"$borderWeights$bold\"},extrabold:{$$switchBorderW:\"$borderWeights$extrabold\"},black:{$$switchBorderW:\"$borderWeights$black\"}},disabled:{true:{cursor:\"not-allowed\"}},animated:{false:{transition:\"none\"}}},defaultVariants:{color:\"default\",size:\"md\",borderWeight:\"normal\"}});export const StyledSwitchInput=t(\"input\",{},$);export const StyledSwitchCircle=t(\"span\",{position:\"absolute\",display:\"flex\",size:\"calc($$switchHeight * 0.7)\",jc:\"center\",ai:\"center\",top:\"50%\",transform:\"translateY(-50%)\",left:\"calc($$switchWidth / 15)\",transition:\"left 0.25s ease, width 0.2s ease\",bg:\"$background\",br:\"$pill\",\"& svg\":{bg:\"transparent\",size:\"calc($$switchHeight * 0.44)\"},\"@motion\":{transition:\"none\"}});export const StyledSwitch=t(\"div\",{opacity:1,width:\"$$switchWidth\",height:\"$$switchHeight\",transition:\"$default\",position:\"relative\",overflow:\"hidden\",padding:0,br:\"$pill\",bg:\"$accents2\",\"@motion\":{transition:\"none\"},variants:{checked:{true:{bg:\"$$switchColor\",[`& ${StyledSwitchCircle}`]:{left:\"calc(100% - ($$switchWidth / 15) - $$switchHeight * 0.7)\"},\"&:hover:not(&:active)\":{bg:\"$$switchColorHover\"}}},bordered:{true:{bg:\"transparent\",border:\"$$switchBorderW solid $border\",\"&:hover\":{borderColor:\"$$switchColor\"},[`& ${StyledSwitchCircle}`]:{left:\"calc(($$switchWidth / 15) - ($$switchBorderW / 2))\",bg:\"$accents2\"}}},squared:{true:{br:\"2px\",[`& ${StyledSwitchCircle}`]:{br:\"2px\"}}},shadow:{true:{}},disabled:{true:{borderColor:\"$accents2\",bg:\"$accents2\",[`& ${StyledSwitchCircle}`]:{bg:\"$accents4\"}}},animated:{true:{\"&:active\":{[`& ${StyledSwitchCircle}`]:{width:\"calc($$switchHeight * 0.7 + ($$switchWidth / 10))\"}}},false:{transition:\"none\",[`& ${StyledSwitchCircle}`]:{transition:\"none\"}}}},compoundVariants:[{checked:!0,disabled:!0,css:{bg:\"$accents3\",[`& ${StyledSwitchCircle}`]:{bg:\"$accents0\"},\"&:hover:not(&:active)\":{bg:\"$accents4\"}}},{shadow:!0,checked:!0,css:{normalShadowVar:\"$$switchColorShadow\"}},{animated:!0,checked:!1,css:{\"&:active\":{[`& ${StyledSwitchCircle}`]:{left:\"calc($$switchWidth / 7.5)\"}}}},{animated:!0,checked:!0,css:{\"&:active\":{[`& ${StyledSwitchCircle}`]:{left:\"calc(100% - ($$switchWidth / 5) - $$switchHeight * 0.7)\"}}}},{checked:!0,bordered:!0,css:{bg:\"$$switchColor\",border:\"$$switchBorderW solid transparent\",\"&:hover:not(&:active)\":{borderColor:\"transparent\"},[`& ${StyledSwitchCircle}`]:{left:\"calc(100% - ($$switchWidth / 15) - $$switchHeight * 0.7 + ($$switchBorderW / 2))\",bg:\"$background\"}}}]},i);","import e,{useCallback as t,useEffect as a,useMemo as i,useState as o}from\"react\";import r from\"../utils/with-defaults\";import n from\"../use-warning\";import s,{KeyCode as d}from\"../use-keyboard\";import{StyledSwitch as c,StyledSwitchContainer as l,StyledSwitchInput as m,StyledSwitchCircle as h}from\"./switch.styles\";import u from\"../utils/clsx\";import{__DEV__ as p}from\"../utils/assertion\";import{jsx as f}from\"react/jsx-runtime\";import{jsxs as b}from\"react/jsx-runtime\";const k=\"nextui-switch\",x=({initialChecked:e,checked:r,disabled:x,onChange:v,squared:w,bordered:g,shadow:$,icon:D,iconOn:j,iconOff:C,animated:O,preventDefault:q,...y})=>{const[E,N]=o(e);D&&p&&(j||C)&&n('Remove props \"icon\" if iconOn or iconOff exists.',\"Switch\");const S=t((e=>{if(x)return;const t={target:{checked:!E},stopPropagation:e.stopPropagation,preventDefault:e.preventDefault,nativeEvent:e};N(!E),v&&v(t)}),[x,E,v]),{bindings:B}=s((e=>{S(e)}),[d.Enter,d.Space],{disableGlobalEvent:!0,preventDefault:q}),I=i((()=>{const e=D||j||C,t=Boolean(j),a=Boolean(C);return e?t&&E?j:a&&!E?C:e:null}),[E,D,j,C]);a((()=>{void 0!==r&&N(r)}),[r]);const P=i((()=>E?\"checked\":\"unchecked\"),[E]);return b(l,{\"data-state\":P,disabled:x,animated:O,...y,children:[f(m,{tabIndex:-1,type:\"checkbox\",className:u(`${k}-input`),\"data-state\":P,disabled:x,checked:E,onChange:S}),f(c,{role:\"switch\",tabIndex:x?-1:0,checked:E,\"aria-checked\":E,\"aria-disabled\":x,animated:O,disabled:x,squared:w,bordered:g,shadow:$,\"data-state\":P,className:u(k,`${k}--${P}`,{[`${k}-checked`]:E,[`${k}-disabled`]:x}),...B,children:f(h,{className:`${k}-circle`,children:I})})]})};x.toString=()=>\".nextui-switch\";const v=e.memo(x);export default r(v,{disabled:!1,bordered:!1,shadow:!1,squared:!1,animated:!0,preventDefault:!0,initialChecked:!1});","import t from\"./switch\";export{StyledSwitchContainer,StyledSwitchInput,StyledSwitchCircle,StyledSwitch}from\"./switch.styles\";export default t;","\nimport GameList from './components/GameList';\nimport { Header } from './components/Header';\nimport { Container } from \"@nextui-org/react\";\nimport Footer from './components/Footer';\nimport useLocalStorage from 'use-local-storage'\nimport {\n createTheme,\n NextUIProvider,\n Switch,\n\n\n\n} from \"@nextui-org/react\";\n\nconst lightTheme = createTheme({\n type: 'light',\n theme: {\n colors: {},\n }\n})\n\nconst darkTheme = createTheme({\n type: 'dark',\n theme: {\n colors: {},\n }\n})\n\n\nexport default function App() {\n // The dark theme is used by default\n const [isDarkTheme, setIsDarkTheme] = useLocalStorage(true);\n\n\n\n\n\n // This function is triggered when the Switch component is toggled\n const changeTheme = () => {\n setIsDarkTheme(!isDarkTheme);\n };\n\n\n return (\n \n\n \n\n \n
\n \n\n