{"version":3,"file":"static/js/8696.033bab61.chunk.js","mappings":"4HAGO,MAAMA,E,SAA2BC,e,mFCExC,MAAMC,EAAcC,IAAA,IAAC,SAAEC,EAAQ,OAAEC,KAAWC,GAAOH,EAAA,OAAqBI,EAAAA,EAAAA,KAAIC,EAAAA,EAAW,IAAKF,EAAOF,UAA0BK,EAAAA,EAAAA,MAAKC,EAAAA,EAAO,CAAEN,SAAU,CACnJC,GAAyBE,EAAAA,EAAAA,KAAII,EAAAA,EAAI,CAAEP,SAAUC,IAAY,KACzDD,MACK,EACPF,EAAYU,YAAc,a,sGCH1B,MAAMC,EAAMC,EAAAA,GAAOC,IAAIC,WAAW,CAChCC,YAAa,eADHH,CAET,CAAC,kBAAmB,MAAMX,IAAA,IAAC,WAC5Be,GACDf,EAAA,OAAKe,EAAa,gGAGSA,EAAWC,KAAKD,EAAWE,aAC7C,EAAE,IACNC,GAAqBC,EAAAA,EAAAA,aAAW,CAAAC,EASnCC,KAAG,IATiC,IACrCC,EAAG,OACHC,EAAM,MACNC,EAAK,IACLC,EAAG,YACHC,EAAW,WACXX,EAAU,OACVY,KACGxB,GACJiB,EAAA,OAAuBQ,EAAAA,EAAAA,KAAKlB,EAAK,CAChCW,IAAKA,EACLC,IAAKA,EACLC,OAAQA,EACRC,MAAOA,EACPC,IAAKA,EACLI,KAAMJ,EAAM,KAAO,eACnBV,WAAYA,EACZY,OAAQA,EACRG,QAASJ,EAAc,QAAU,UAC9BvB,GACH,IACFe,EAAMT,YAAc,QACpBS,EAAMa,UAAY,CAEhBT,IAAKU,IAAAA,OAELT,OAAQS,IAAAA,OAERR,MAAOQ,IAAAA,OAEPP,IAAKO,IAAAA,OAELN,YAAaM,IAAAA,KAEbjB,WAAYiB,IAAAA,MAAgB,CAC1BhB,EAAGgB,IAAAA,OAAiBC,WACpBhB,EAAGe,IAAAA,OAAiBC,aAGtBN,OAAQK,IAAAA,MAEV,U,eC/CA,MAAME,EAAiBvB,EAAAA,GAAOwB,IAAItB,WAAW,CAC3CC,YAAa,eADQH,CAEpB,CAAC,uCAAwC,qMAAsMyB,EAAAA,IAC5OC,GAAc1B,EAAAA,EAAAA,IAAO2B,GAAWzB,WAAW,CAC/CC,YAAa,eADKH,CAEjB,CAAC,yGACE4B,EAAc5B,EAAAA,GAAOwB,IAAItB,WAAW,CACxCC,YAAa,eADKH,CAEjB,CAAC,4BAA6B,SAAU,KAAM6B,EAAAA,IAAUxC,IAAA,IAAC,aAC1DyC,GACDzC,EAAA,OAAKyC,EAAeD,EAAAA,GAAWE,EAAAA,EAAS,IACnCC,EAAMhC,EAAAA,GAAOwB,IAAItB,WAAW,CAChCC,YAAa,eADHH,CAET,CAAC,cAAe,iCAAkCiC,EAAAA,IAG/CC,EAAYzB,IAQZ,IARa,IACjBE,EAAG,IACHG,EAAG,KACHqB,EAAI,YACJC,EAAc,MAAK,OACnBxB,EAAM,MACNC,KACGwB,GACJ5B,EACC,MAAO6B,EAAWC,IAAkBC,EAAAA,EAAAA,WAAS,IACtCC,EAAUC,IAAiBF,EAAAA,EAAAA,WAAS,GACrCG,GAAcC,EAAAA,EAAAA,YAAW1D,EAAAA,GACzB2D,GAAQC,EAAAA,EAAAA,UAQd,OAPAC,EAAAA,EAAAA,YAAU,KACJF,EAAMG,SAASC,WAAaJ,EAAMG,SAASrC,KAAOkC,EAAMG,SAASpC,UAAY6B,EAC/EF,GAAe,GAEfA,GAAe,EACjB,GACC,CAACE,KACgBxB,EAAAA,EAAAA,KAAK,MAAO,IAC3BoB,EACH/C,UAAuB4D,EAAAA,EAAAA,MAAM,MAAO,CAClCC,MAAO,CACLC,SAAU,WACVhB,YAAaA,EAAYiB,QAAQ,IAAK,MAExC/D,SAAU,CAAC6C,GAAQG,GAAyBrB,EAAAA,EAAAA,KAAKM,EAAgB,CAAC,GAAK,MAAmBN,EAAAA,EAAAA,KAAKS,EAAa,CAC1GV,OAAQA,IAAMuB,GAAe,GAC7Be,QAASA,IAAMZ,GAAc,GAC7BhC,IAAKmC,EACLlC,MACAG,MACAF,SACAC,WACGwB,KACAF,GAAQG,EAAY,MAAoBrB,EAAAA,EAAAA,KAAKW,EAAa,CAC7DE,aAAca,EACdrD,SAAU6C,GAAoBlB,EAAAA,EAAAA,KAAKkB,EAAM,CACvCoB,KAAM,SACNC,MAAOlB,EAAYmB,EAAAA,GAAQxB,EAAAA,MACXhB,EAAAA,EAAAA,KAAKe,EAAK,CAAC,SAGjC,EAEJE,EAAUd,UAAY,CAIpBT,IAAKU,IAAAA,OAILP,IAAKO,IAAAA,OAELe,YAAaf,IAAAA,MAAgB,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,SAExEc,KAAMd,IAAAA,MAER,S,qQCpFA,MAAMqC,EAAmB,CACzBA,MAAyB,CAAC,EAC1BA,KAAwB,CAAC,GCDnBC,EAAa,CACnBA,MAAmB,CAAC,EACpBA,KAAkB,CAAC,GAGbC,EAAqB,CAAC,EAsBtBC,EAAmBA,CAACC,EAAIzE,KAKxB,IAL0B,MAC9B0E,EAAK,KACLC,EAAI,OACJC,EAAS,KAAI,iBACbC,GACD7E,EACC,MAAM8E,EAAeF,EAASH,EAExBM,EAA6B,OAAOD,MAAiBJ,KAe3D,YAbyCM,IAArCT,EAAmBO,IAA+BP,EAAmBO,KAAkBC,GAA+BF,GACxHI,QAAQC,KAAK,2BAA2BJ,kBAC/BP,EAAmBO,kBACnBC,KAEXR,EAAmBO,GAAgBC,EACnCL,EAAQJ,EAAWI,MAAMI,GAAgBJ,EAAQO,QAAQC,KAAK,8BAA8BT,KAC5FE,EAAOL,EAAWK,KAAKG,GAAgBH,EAAOM,QAAQC,KAAK,6BAA6BT,KDpChEU,EAACV,EAAMW,KAC/Bf,EAAiBK,MAAMD,GAAQW,EAAOV,MACtCL,EAAiBM,KAAKF,GAAQW,EAAOT,IAAI,ECmCzCQ,CAAWL,EAAc,CACvBJ,QACAC,SAGKI,CAA0B,EAqBtBM,EAA8BA,CAACZ,EAAIa,KAAA,IAAE,MAChDZ,EAAK,KACLC,GACDW,EAAA,OAAKd,EAAiBC,EAAM,CAC3BC,QACAC,OACAC,OAAQ,MACR,EC9EWW,EAAQ,UACRC,EAAQ,UAKRC,EAAS,UA8BTC,GAfQL,EAA4B,QAAS,CACxDX,MAAO,UACPC,KAAM,YAEaU,EAA4B,QAAS,CACxDX,MAAO,UACPC,KAAM,YASc,WAeT/B,EAAQ,UACRwB,EAAQ,UAURuB,EAAO,2CAMPC,EAAmB,IACnBC,EAAqB,IACrBC,EAAiB,IAIjBC,EAAa,YACbC,EAAa,YACbC,EAAa,WAEbC,EAAa,WAObC,EAAkB,IAClBC,EAAa,IAIbC,EAAW,UACX7D,EAAW,SACXE,EAAY,OACZ4D,EAAY,SACZC,EAAY,OACZC,EAAY,OACZpE,EAAY,OAEZqE,EAAa,OAqDbC,EAAe,WAIfC,EAAsB,YACtBC,EAAsB,YAItBC,EAAsB,YA+BtBC,GAlBqBzB,EAA4B,uBAAwB,CACpFX,MAAOa,EACPZ,KAAMiC,IAE4BvB,EAA4B,yBAA0B,CACxFX,MAAOa,EACPZ,KApBiC,cAsBEU,EAA4B,0BAA2B,CAC1FX,MAAOc,EACPb,KA1BiC,cA4BIU,EAA4B,4BAA6B,CAC9FX,MA3LmB,UA4LnBC,KAAMkC,IAImCxB,EAA4B,iCAAkC,CACvGX,MAAON,EACPO,KAAM,aA4BKoC,GA1BwB1B,EAA4B,0BAA2B,CAC1FX,MAAON,EACPO,KAAM,YAE6BU,EAA4B,0BAA2B,CAC1FX,MAAON,EAEPO,KAAM,YAE6BU,EAA4B,0BAA2B,CAC1FX,MAAON,EAEPO,KAAM,YAE6BU,EAA4B,0BAA2B,CAC1FX,MAAON,EAEPO,KAAM,YAE6BU,EAA4B,0BAA2B,CAC1FX,MAAON,EAEPO,KAAM,YAIwBU,EAA4B,qBAAsB,CAChFX,MA5KqB,UA6KrBC,KArEiC,eA+HtBqC,GAxDqB3B,EAA4B,uBAAwB,CACpFX,MA1NoB,UA2NpBC,KAAMgC,IAEyBtB,EAA4B,sBAAuB,CAClFX,MAAOe,EACPd,KAAMiC,IAEyBvB,EAA4B,sBAAuB,CAClFX,MAAON,EACPO,KAAM/B,IAIuByC,EAA4B,oBAAqB,CAC9EX,MAAO,UACPC,KAAMe,IAE6BL,EAA4B,2BAA4B,CAC3FX,MAAO,UACPC,KAAM,YAE8BU,EAA4B,4BAA6B,CAC7FX,MAAO,UACPC,KAAM,YAE0BU,EAA4B,uBAAwB,CACpFX,MArNoB,UAsNpBC,KAAMe,IAEuBL,EAA4B,oBAAqB,CAC9EX,MAAO,UACPC,KA9NoB,YAgOiBU,EAA4B,4BAA6B,CAC9FX,MAAO,UACPC,KAzNqB,YA2NWU,EAA4B,uBAAwB,CACpFX,MAAO,UACPC,KA5PsB,YA8PSU,EAA4B,sBAAuB,CAClFX,MAAO,UACPC,KAAM,YAI0BU,EAA4B,uBAAwB,CACpFX,MAAOe,EACPd,KAAMgC,IAE4BtB,EAA4B,yBAA0B,CACxFX,MAnRoB,UAoRpBC,KAAMiC,IAE2BvB,EAA4B,wBAAyB,CACtFX,MAAOc,EACPb,KAAMkC,KA+CKI,GA1Ce5B,EAA4B,gBAAiB,CACvEX,MAAO,YACPC,KAAM,cAEuBU,EAA4B,mBAAoB,CAC7EX,MAAO,YACPC,KAAM,cAEuBU,EAA4B,mBAAoB,CAC7EX,MAAO,YACPC,KAAM,cAEsBU,EAA4B,kBAAmB,CAC3EX,MAAO,YACPC,KAAM,cAEqBU,EAA4B,iBAAkB,CACzEX,MAAO,YACPC,KAAM,cAEyBU,EAA4B,qBAAsB,CACjFX,MAAO,YACPC,KAAM,cAEuBU,EAA4B,mBAAoB,CAC7EX,MAAO,YACPC,KAAM,cAEqBU,EAA4B,iBAAkB,CACzEX,MAAO,YACPC,KAAM,cAEsBU,EAA4B,kBAAmB,CAC3EX,MAAO,YACPC,KAAM,cAEqBU,EAA4B,iBAAkB,CACzEX,MAAO,YACPC,KAAM,cAIuBU,EAA4B,oBAAqB,CAC9EX,MAAO,wBAEPC,KAAM,2BAEKuC,EAAoB7B,EAA4B,sBAAuB,CAClFX,MAAO,wBACPC,KAAM,0BAEyBU,EAA4B,sBAAuB,CAClFX,MAAO,yBACPC,KAAM,2BAE0BU,EAA4B,oBAAqB,CACjFX,MAAO,0BACPC,KAAM,4BAEmBU,EAA4B,eAAgB,CACrEX,MAAO,QACPC,KAAM,Q,sGCjVR,MAAMwC,EACJC,OAAAA,GAAW,CACXC,SAAAA,GAAa,CACbC,UAAAA,GAAc,EAEhB,IAAIC,EACJ,SAASC,IAIP,OAHKD,IACHA,EAIJ,WAOE,MAAME,EAAe,IAAIC,IAMzB,SAASC,EAASC,GAChBH,EAAaI,SAAQ,CAACC,EAAWH,KAK/B,MAAMI,EAAyBH,EAAQI,QAAOC,GAASH,EAAUI,IAAID,EAAME,UACvEJ,EAAuBK,OAAS,GAClCT,EAASI,EACX,GAEJ,CACA,IAEE,IAAIM,EAMJ,OAJEA,EAD4B,qBAAnBC,eACQ,IAAIA,eAAeX,GAEnB,IAAIR,EAAmBQ,GAEnC,CACLU,iBACAE,GAAAA,CAAIZ,EAAUQ,EAAQK,GACpB,GAAIL,EAAQ,CACVE,EAAejB,QAAQe,EAAQK,GAE1Bf,EAAaS,IAAIP,IACpBF,EAAagB,IAAId,EAAU,IAAIe,KAGfjB,EAAakB,IAAIhB,GACzBY,IAAIJ,EAChB,CACF,EACAS,MAAAA,CAAOjB,EAAUQ,GACf,GAAIA,EAAQ,CAEV,MAAML,EAAYL,EAAakB,IAAIhB,IAAa,IAAIe,IACpDZ,EAAUe,OAAOV,GAEM,IAAnBL,EAAU5D,MACZuD,EAAaoB,OAAOlB,GAKjBmB,MAAMC,KAAKtB,EAAarC,UAAU4D,MAAKlB,GAAaA,EAAUI,IAAIC,MACrEE,EAAehB,UAAUc,EAE7B,CACF,EAEJ,CAAE,MAAOc,GACPhE,QAAQC,KAAK,0DAA2D+D,EAC1E,CACF,CAxEkCC,IAEzB3B,CACT,C,eChBA,MAAM4B,EAA4BxI,EAAAA,GAAOwB,IAAItB,WAAW,CACtDC,YAAa,eADmBH,CAE/B,CAAC,iBAAkB,qBAAsB,eAAgB,eAAgB,uBAAwB,iCAAkC+F,EAAAA,GAAcM,EAAAA,GAAqBC,EAAAA,GAAiBH,EAAAA,GAA6BI,EAAAA,IAGjNkC,GAAmCjI,EAAAA,EAAAA,aAAW,CAAAnB,EAGjDqJ,KAAiB,IAHiC,SACnDpJ,KACGE,GACJH,EACC,MAAMsJ,GAAc7F,EAAAA,EAAAA,UACdpC,EAAMgI,GAAgBC,GACrBhG,EAAaiG,IAAkBpG,EAAAA,EAAAA,WAAS,GAI/C,ODuEa,SAA2BwE,EAAU6B,EAAchB,GAChE,MAAMiB,EAAQjC,KACd9D,EAAAA,EAAAA,YAAU,KACR,GAAKiE,GAAa6B,GAIlB,GAAIC,EAAO,CACT,MAAMtB,EAASqB,GAAgB,YAAaA,EAAeA,EAAa7F,QAAU6F,EAElF,OADAC,EAAMlB,IAAIZ,EAAUQ,EAAQK,GACrB,IAAMiB,EAAMb,OAAOjB,EAAUQ,EACtC,OAPElD,QAAQgE,MAAM,wBAAyB,IAAIS,UAAU,uDAOvD,GACC,CAAC/B,EAAUa,EAASiB,EAAOD,GAChC,CCvFEG,EAAkBC,EAAAA,EAAAA,cAAYxI,IAAa,IAAX6G,GAAM7G,EACpCmI,EAAetB,EAAM4B,YAAYC,MAAQ,IAAI,GAC5C,IAAKzI,IACYO,EAAAA,EAAAA,KAAKuH,EAA2B,IAC/ChJ,EACHkB,IAAKA,EACLpB,UAAuB2B,EAAAA,EAAAA,KAAK/B,EAAAA,EAAYkK,SAAU,CAChDC,MAAO1G,EACPrD,SAAUA,KAEZ,IAEJmJ,EAAoB3I,YAAc,sBAClC2I,EAAoBrH,UAAY,CAE9B9B,SAAU+B,IAAAA,MAEZ,S,kHCzBA,MACMiI,GAD8BC,EAAAA,EAAAA,IAAsBC,EAAAA,oBACRxF,MAC3CyF,EAAqBC,IAAoBC,EAAAA,EAAAA,IAC9C,qBACA,CACE5F,MAAOa,EAAAA,MACPZ,MAAM4F,EAAAA,EAAAA,GAAeN,EAAe,KACpCrF,OAAQ,UAGL4F,EAAsBC,IAAqBH,EAAAA,EAAAA,IAChD,sBACA,CACE5F,MAAOc,EAAAA,MACPb,MAAM4F,EAAAA,EAAAA,GAAeN,EAAe,KACpCrF,OAAQ,SAGN8F,EAAY/J,EAAAA,GAAOgK,MAAM;IAC3BC,EAAAA;IACAR;IACAI;;WAEOL,EAAAA;;;;oBAISE;eACLF,EAAAA;;;;;;kBAMGM;;;;;;;;aAQLN,EAAAA;;EAyBPU,GAAQ1J,EAAAA,EAAAA,aAtBS2J,CAAA9K,EAQpBqB,KAAG,IARkB,KACtB0J,EAAI,SACJC,EAAQ,SACRC,GAAWF,IAASC,EAAW,IAAM,UAAQ,KAC7CE,GAAoB,WAAbD,EAAwB,cAAW,GAAM,MAChDE,EAAK,UACLC,KACGjL,GACJH,EAAA,OAA0BI,EAAAA,EAAAA,KACzBsK,EACA,IACKvK,EACHkB,MACA6J,OACAH,OACAC,WACAK,WAAYD,EACZE,OAAQH,EACRI,GAAIN,EACJhL,SAAUE,EAAMF,UAEnB,IAED4K,EAAMpK,YAAc,QACpB,IAAI+K,EAAgBX,C,sGC5Eb,MAAMY,GAA2BC,EAAAA,EAAAA,IAAI,CAAC,wBAAyB,gBAAiB,cAAe,gBAAiB,KAAMC,EAAAA,GAAO7F,EAAAA,GAAgBG,EAAAA,GAAYE,EAAAA,IAC1JyF,EAAWjL,EAAAA,GAAOkL,GAAGhL,WAAW,CACpCC,YAAa,gBADEH,CAEd,CAAC,GAAI,KAAM8K,GAKRK,EAAK9L,IAAA,IAAC,SACVC,EAAQ,SACRgL,KACG9K,GACJH,EAAA,OAAkB4B,EAAAA,EAAAA,KAAKgK,EAAU,CAChCL,GAAIN,KACD9K,EACHF,SAAUA,GACV,EACF,IACA6L,EAAG/J,UAAY,CAEb9B,SAAU+B,IAAAA,KAAeC,WAEzBgJ,SAAUjJ,IAAAA,aCtBL,MAAM+J,GAA2BL,EAAAA,EAAAA,IAAI,CAAC,wBAAyB,gBAAiB,cAAe,gBAAiB,KAAMC,EAAAA,GAAO9F,EAAAA,GAAoBK,EAAAA,GAAYC,EAAAA,IAC9J6F,EAAWrL,EAAAA,GAAOsL,GAAGpL,WAAW,CACpCC,YAAa,gBADEH,CAEd,CAAC,GAAI,KAAMoL,GAKRG,EAAKlM,IAAA,IAAC,SACVC,EAAQ,SACRgL,KACG9K,GACJH,EAAA,OAAkB4B,EAAAA,EAAAA,KAAKoK,EAAU,CAChCT,GAAIN,KACD9K,EACHF,SAAUA,GACV,EACF,IACAiM,EAAGnK,UAAY,CAEb9B,SAAU+B,IAAAA,KAAeC,WAEzBgJ,SAAUjJ,IAAAA,aC1BZ,MACA,GADe0J,EAAAA,EAAAA,IAAI,CAAC,gPAAiP,gOAAiOlJ,EAAAA,ICMhe2J,EAAaxL,EAAAA,GAAOwB,IAAItB,WAAW,CACvCC,YAAa,eADIH,CAEhB,CAAC,eAAgB,gBAAiB,gBAAiB,cAAe,IAAK,6BAA8B,MAAOgL,EAAAA,GAAO/F,EAAAA,GAAkBQ,EAAAA,GAAYL,EAAAA,GAAY6E,EAAQ9E,EAAAA,IAGlKsG,EAAQpM,IAAA,IAAC,SACbC,EAAQ,SACRgL,EAAW,SACR9K,GACJH,EAAA,OAAkB4B,EAAAA,EAAAA,KAAKuK,EAAY,CAClCZ,GAAIN,KACD9K,EACHF,SAAUA,GACV,EACFmM,EAAM3L,YAAc,QACpB2L,EAAMrK,UAAY,CAEhB9B,SAAU+B,IAAAA,KAAeC,WAEzBgJ,SAAUjJ,IAAAA,aAEZ,UCrBMqK,EAAa1L,EAAAA,GAAOwB,IAAItB,WAAW,CACvCC,YAAa,gBADIH,CAEhB,CAAC,eAAgB,gBAAiB,gBAAiB,cAAe,IAAK,6BAA8B,MAAOgL,EAAAA,GAAO/F,EAAAA,GAAkBQ,EAAAA,GAAYJ,EAAAA,GAAY4E,EAAQ9E,EAAAA,IAGlKwG,EAAQtM,IAAA,IAAC,SACbC,EAAQ,SACRgL,EAAW,SACR9K,GACJH,EAAA,OAAkB4B,EAAAA,EAAAA,KAAKyK,EAAY,CAClCd,GAAIN,KACD9K,EACHF,SAAUA,GACV,EACFqM,EAAM7L,YAAc,QACpB6L,EAAMvK,UAAY,CAEhB9B,SAAU+B,IAAAA,KAAeC,WAEzBgJ,SAAUjJ,IAAAA,aAEZ,UCrBMuK,EAAa5L,EAAAA,GAAOwB,IAAItB,WAAW,CACvCC,YAAa,gBADIH,CAEhB,CAAC,eAAgB,gBAAiB,gBAAiB,cAAe,IAAK,6BAA8B,MAAOgL,EAAAA,IAAO3L,IAAA,IAAC,YACrHwM,GACDxM,EAAA,OAAKwM,EAAc3G,EAAAA,GAAqBD,EAAAA,EAAgB,GAAEQ,EAAAA,GAAYH,EAAAA,GAAY2E,EAAQ9E,EAAAA,IAGrF2G,EAAQrL,IAAA,IAAC,SACbnB,EAAQ,WACRyM,GAAa,EAAK,SAClBzB,EAAW,SACR9K,GACJiB,EAAA,OAAkBQ,EAAAA,EAAAA,KAAK2K,EAAY,CAClCC,YAAaE,EACbnB,GAAIN,KACD9K,EACHF,SAAUA,GACV,EACFwM,EAAMhM,YAAc,QACpBgM,EAAM1K,UAAY,CAEhB9B,SAAU+B,IAAAA,KAAeC,WAEzByK,WAAY1K,IAAAA,KAEZiJ,SAAUjJ,IAAAA,aAEZ,UC7BM2K,EAAO,CACX,EAAG,IACH,EAAGtG,EAAAA,GACH,EAAG7D,EAAAA,GACH,GAAIE,EAAAA,GACJ,GAAI4D,EAAAA,GACJ,GAAIC,EAAAA,GACJ,GAAIC,EAAAA,GACJ,GAAIpE,EAAAA,GACJ,IAAKqE,EAAAA,IAEDmG,EAAkB,CACtBC,MAAO,QACPC,OAAQ,SACRC,IAAK,MACLC,OAAQ,UAEJC,EAAYtM,EAAAA,GAAOwB,IAAItB,WAAW,CACtCC,YAAa,eADGH,CAEf,CAAC,yBAA0B,yCAA0C,MAAMX,IAAA,IAAC,SAC7EkN,GACDlN,EAAA,OAAK2M,EAAKO,EAAS,IAAE9L,IAAA,IAAC,OACrB+L,GACD/L,EAAA,OAAKwL,EAAgBO,EAAO,IACvB5M,EAAQ+E,IAAA,IAAC,QACb8H,EAAU,KAAI,MACdC,EAAQ,SAAQ,SAChBpN,KACGE,GACJmF,EAAA,OAAkB1D,EAAAA,EAAAA,KAAKqL,EAAW,CACjCC,SAAUE,EACVD,OAAQE,KACLlN,EACHF,SAAUA,GACV,EACIqN,EAAWC,OAAOC,KAAKb,GACvBc,EAAYF,OAAOC,KAAKZ,GAC9BrM,EAAMwB,UAAY,CAEhB9B,SAAU+B,IAAAA,KAEVoL,QAASpL,IAAAA,MAAgBsL,GAEzBD,MAAOrL,IAAAA,MAAgByL,IAEzB,U,eCxCA,MAAMC,EAAiB/M,EAAAA,GAAOwB,IAAItB,WAAW,CAC3CC,YAAa,eADQH,CAEpB,CAAC,yCAA0C,mBAAoB,MAAOoG,EAAAA,GAAkBA,EAAAA,IACrF4G,EAAoBhN,EAAAA,GAAOwB,IAAItB,WAAW,CAC9CC,YAAa,eADWH,CAEvB,CAAC,WAAY,IAAK,MAAMX,IAAA,IAAC,aAC1ByC,GACDzC,EAAA,OAAKyC,EAAeD,EAAAA,GAAWE,EAAAA,EAAS,IAAEtB,IAAA,IAAC,OAC1CwM,GACDxM,EAAA,OAAKwM,GAAU,WAAWA,GAAQ,IAC7BC,EAAclN,EAAAA,GAAOwB,IAAItB,WAAW,CACxCC,YAAa,eADKH,CAEjB,CAAC,qCACEmN,EAAiBnN,EAAAA,GAAOwB,IAAItB,WAAW,CAC3CC,YAAa,eADQH,CAEpB,CAAC,qCACEoN,GAAapN,EAAAA,EAAAA,KAAO2E,IAAA,IAAC,aACzB7C,EAAY,SACZxC,KACGE,GACJmF,EAAA,OAAK7C,GAA4Bb,EAAAA,EAAAA,KAAKwK,EAAO,IACzCjM,EACHF,SAAUA,KACM2B,EAAAA,EAAAA,KAAK0K,EAAO,IACzBnM,EACHF,SAAUA,GACV,IAAEY,WAAW,CACbC,YAAa,eAXIH,CAYhB,CAAC,SAAU,wFAAyF,OAAOqN,IAAA,IAAC,cAC7GC,GACDD,EAAA,OAAKC,GAAgClH,EAAAA,EAAgB,GAAEV,EAAAA,IAClD6H,GAAcvN,EAAAA,EAAAA,KAAOwN,IAAA,IAAC,YAC1B7K,EAAW,SACXrD,KACGE,GACJgO,EAAA,OAAK7K,GAA2B1B,EAAAA,EAAAA,KAAKkK,EAAI,CACxCb,SAAU,SACP9K,EACHF,SAAUA,KACM2B,EAAAA,EAAAA,KAAKsK,EAAI,CACzBjB,SAAU,SACP9K,EACHF,SAAUA,GACV,IAAEY,WAAW,CACbC,YAAa,eAbKH,CAcjB,CAAC,0FACEyN,GAAiBzN,EAAAA,EAAAA,KAAO0N,IAAA,IAAC,aAC7B5L,EAAY,SACZxC,KACGE,GACJkO,EAAA,OAAK5L,GAA4Bb,EAAAA,EAAAA,KAAK0K,EAAO,IACzCnM,EACHF,SAAUA,KACM2B,EAAAA,EAAAA,KAAK6K,EAAO,IACzBtM,EACHF,SAAUA,GACV,IAAEY,WAAW,CACbC,YAAa,eAXQH,CAYpB,CAAC,sEAAuE,sBAAsB2N,IAAA,IAAC,OAChGV,GACDU,EAAA,OAAKV,EAASW,KAAKC,MAAMZ,EAAS,IAAM,CAAC,IAGpCa,EAAWC,IAUX,IAVY,KAChBC,EAAI,MACJC,EAAQ,CACNC,aAAc9H,EAAAA,IACf,MACD+H,EAAK,OACLlB,EAAM,MACNmB,EAAK,SACL9O,KACGE,GACJuO,EACC,MAAMpL,GAAcC,EAAAA,EAAAA,YAAW1D,EAAAA,GAC/B,OAAoB+B,EAAAA,EAAAA,KAAK8L,EAAgB,IACpCvN,EACHF,UAAuB2B,EAAAA,EAAAA,KAAK+L,EAAmB,CAC7ClL,aAAca,EACdsK,OAAQA,EACR3N,UAAuB4D,EAAAA,EAAAA,MAAMtD,EAAO,CAClC6M,QAAS,IACTnN,SAAU,CAAC0O,GAAQI,GAAqBlL,EAAAA,EAAAA,MAAMgK,EAAa,CACzD5N,SAAU,CAAC8O,GAAqBnN,EAAAA,EAAAA,KAAKkM,EAAgB,CACnD7N,SAAU8O,IACP,KAAMJ,IAAqB/M,EAAAA,EAAAA,KAAKmM,EAAY,CAC/CtL,aAAca,EACd2K,cAAeW,EAAMC,aACrB5O,SAAU0O,OAET,KAAMG,IAAsBlN,EAAAA,EAAAA,KAAKsM,EAAa,CACjD5K,YAAaA,EACbrD,SAAU6O,IACR7O,IAAyB2B,EAAAA,EAAAA,KAAKwM,EAAgB,CAChD3L,aAAca,EACdrD,SAAUA,UAIhB,EAEJwO,EAAShO,YAAc,WACvBgO,EAAS1M,UAAY,CAEnB+M,MAAO9M,IAAAA,KAEP/B,SAAU+B,IAAAA,KAEV2M,KAAM3M,IAAAA,KAEN4M,MAAO5M,IAAAA,MAAgB,CACrB6M,aAAc7M,IAAAA,OAAiBC,aAKjC2L,OAAQ5L,IAAAA,OAER+M,MAAO/M,IAAAA,SAET,S","sources":["../node_modules/@churchofjesuschrist/eden-vertical-modular-tile/lib/es/components/tileContext.js","../node_modules/@churchofjesuschrist/eden-dialog-modal/lib/es/index.js","../node_modules/@churchofjesuschrist/eden-vertical-modular-tile/node_modules/@churchofjesuschrist/eden-image/lib/es/index.js","../node_modules/@churchofjesuschrist/eden-vertical-modular-tile/lib/es/components/ImageRail.js","../node_modules/@churchofjesuschrist/eden-vertical-modular-tile/node_modules/@churchofjesuschrist/eden-appearance/lib/es/components/modes.js","../node_modules/@churchofjesuschrist/eden-vertical-modular-tile/node_modules/@churchofjesuschrist/eden-style-constants/lib/es/modes.js","../node_modules/@churchofjesuschrist/eden-vertical-modular-tile/node_modules/@churchofjesuschrist/eden-style-constants/lib/es/index.js","../node_modules/@churchofjesuschrist/eden-vertical-modular-tile/node_modules/@churchofjesuschrist/eden-resize-observer/lib/es/index.js","../node_modules/@churchofjesuschrist/eden-vertical-modular-tile/lib/es/components/VerticalModularTile.js","../node_modules/@churchofjesuschrist/eden-buttons/lib/es/components/Ghost.js","../node_modules/@churchofjesuschrist/eden-vertical-modular-tile/node_modules/@churchofjesuschrist/eden-headings/lib/es/components/H5.js","../node_modules/@churchofjesuschrist/eden-vertical-modular-tile/node_modules/@churchofjesuschrist/eden-headings/lib/es/components/H4.js","../node_modules/@churchofjesuschrist/eden-vertical-modular-tile/node_modules/@churchofjesuschrist/eden-text/lib/es/components/shared.js","../node_modules/@churchofjesuschrist/eden-vertical-modular-tile/node_modules/@churchofjesuschrist/eden-text/lib/es/components/Text6.js","../node_modules/@churchofjesuschrist/eden-vertical-modular-tile/node_modules/@churchofjesuschrist/eden-text/lib/es/components/Text5.js","../node_modules/@churchofjesuschrist/eden-vertical-modular-tile/node_modules/@churchofjesuschrist/eden-text/lib/es/components/Text4.js","../node_modules/@churchofjesuschrist/eden-vertical-modular-tile/node_modules/@churchofjesuschrist/eden-stack/lib/es/index.js","../node_modules/@churchofjesuschrist/eden-vertical-modular-tile/lib/es/components/BodyRail.js"],"sourcesContent":["\"use client\";\n\nimport React from \"react\";\nexport const TileContext = /*#__PURE__*/React.createContext();","\"use client\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nimport { Stack } from \"@churchofjesuschrist/eden-stack\";\nimport { H2 } from \"@churchofjesuschrist/eden-headings\";\nimport { ToolModal } from \"@churchofjesuschrist/eden-tool-modal\";\nconst DialogModal = ({ children, header, ...props }) => /* @__PURE__ */ jsx(ToolModal, { ...props, children: /* @__PURE__ */ jsxs(Stack, { children: [\n header ? /* @__PURE__ */ jsx(H2, { children: header }) : null,\n children\n] }) });\nDialogModal.displayName = \"DialogModal\";\nexport {\n DialogModal\n};\n","\"use client\";\n\nimport React, { forwardRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport styled from \"styled-components\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Img = styled.img.withConfig({\n componentId: \"sc-voqve2-0\"\n})([\"max-width:100%;\", \";\"], ({\n focalPoint\n}) => focalPoint ? `height: 100%;\n width: 100%;\n object-fit: cover;\n object-position: ${focalPoint.x} ${focalPoint.y};\n ` : \"\");\nconst Image = /*#__PURE__*/forwardRef(({\n src,\n srcSet,\n sizes,\n alt,\n disableLazy,\n focalPoint,\n onLoad,\n ...props\n}, ref) => /*#__PURE__*/_jsx(Img, {\n ref: ref,\n src: src,\n srcSet: srcSet,\n sizes: sizes,\n alt: alt,\n role: alt ? null : \"presentation\",\n focalPoint: focalPoint,\n onLoad: onLoad,\n loading: disableLazy ? \"eager\" : \"lazy\",\n ...props\n}));\nImage.displayName = \"Image\";\nImage.propTypes = {\n /** The path to an image */\n src: PropTypes.string,\n /** A list of one or more strings separated by commas indicating a set of possible image sources */\n srcSet: PropTypes.string,\n /** A list of one or more strings separated by commas indicating a set of source sizes */\n sizes: PropTypes.string,\n /** Textual description of the image as a fallback if the image can't load and for accessibility */\n alt: PropTypes.string,\n /** Whether to disable the default lazy loading */\n disableLazy: PropTypes.bool,\n /** x and y coordinates that denote the focus point of the image */\n focalPoint: PropTypes.shape({\n x: PropTypes.string.isRequired,\n y: PropTypes.string.isRequired\n }),\n /** A callback invoked when the image has finished loading. Callback function will receive an Event object whose target is the native image element. */\n onLoad: PropTypes.func\n};\nexport default Image;","\"use client\";\n\nimport { useState, useContext, useRef, useEffect } from \"react\";\nimport PropTypes from \"prop-types\";\nimport styled from \"styled-components\";\nimport { spacing8, spacing16, spacing64, white, black } from \"@churchofjesuschrist/eden-style-constants\";\nimport EdenImage from \"@churchofjesuschrist/eden-image\";\nimport { TileContext } from \"./tileContext\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst GradientStyled = styled.div.withConfig({\n componentId: \"sc-rjojyk-0\"\n})([\"position:absolute;width:100%;height:\", \";bottom:0;background:linear-gradient( to bottom,hsla(198,9.8%,20%,0) 0%,hsla(198,9.8%,20%,0.032) 14.5%,hsla(198,9.8%,20%,0.177) 36.4%,hsla(198,9.8%,20%,0.555) 71%,hsla(198,9.8%,20%,0.9) 100% );\"], spacing64);\nconst ImageStyled = styled(EdenImage).withConfig({\n componentId: \"sc-rjojyk-1\"\n})([\"display:block;width:100%;min-height:45px;@supports (object-fit:cover){height:100%;object-fit:cover;}\"]);\nconst IconWrapper = styled.div.withConfig({\n componentId: \"sc-rjojyk-2\"\n})([\"position:absolute;bottom:\", \";left:\", \";\"], spacing8, ({\n $isCondensed\n}) => $isCondensed ? spacing8 : spacing16);\nconst Bar = styled.div.withConfig({\n componentId: \"sc-rjojyk-3\"\n})([\"background:\", \";height:0.25rem;width:2.5rem;\"], black);\n\n/** A wrapper for an image with an optional icon overlay. */\nconst ImageRail = ({\n src,\n alt,\n Icon,\n aspectRatio = \"1:1\",\n srcSet,\n sizes,\n ...rest\n}) => {\n const [imgLoaded, setImageLoaded] = useState(false);\n const [imgError, setImageError] = useState(false);\n const isCondensed = useContext(TileContext);\n const image = useRef();\n useEffect(() => {\n if (image.current?.complete && (image.current?.src || image.current?.srcSet) && !imgError) {\n setImageLoaded(true);\n } else {\n setImageLoaded(false);\n }\n }, [imgError]);\n return /*#__PURE__*/_jsx(\"div\", {\n ...rest,\n children: /*#__PURE__*/_jsxs(\"div\", {\n style: {\n position: \"relative\",\n aspectRatio: aspectRatio.replace(\":\", \"/\")\n },\n children: [Icon && imgLoaded ? /*#__PURE__*/_jsx(GradientStyled, {}) : null, /*#__PURE__*/_jsx(ImageStyled, {\n onLoad: () => setImageLoaded(true),\n onError: () => setImageError(true),\n ref: image,\n src,\n alt,\n srcSet,\n sizes,\n ...rest\n }), !Icon && imgLoaded ? null : /*#__PURE__*/_jsx(IconWrapper, {\n $isCondensed: isCondensed,\n children: Icon ? /*#__PURE__*/_jsx(Icon, {\n size: \"1.5rem\",\n color: imgLoaded ? white : black\n }) : /*#__PURE__*/_jsx(Bar, {})\n })]\n })\n });\n};\nImageRail.propTypes = {\n /** Image source\n * Note: See eden-image for a list of all available props.\n */\n src: PropTypes.string,\n /** Alt text for image\n * Note: See eden-image for a list of all available props.\n */\n alt: PropTypes.string,\n /** Aspect ratio in which you want the image displayed. Default value 1:1 */\n aspectRatio: PropTypes.oneOf([\"1:1\", \"5:6\", \"5:8\", \"6:5\", \"8:3\", \"8:5\", \"16:9\"]),\n /** Icon overlayed on the image*/\n Icon: PropTypes.func\n};\nexport default ImageRail;","// Keep our own copy of the appearanceStyles. Updates sent via sendUpdate from eden-style-constants as the Appearance Constants are set. This keeps us from having to expose a \"getAllAppearanceStyles\" from eden-style-constants which would become a public API to worry about.\nconst appearanceStyles = {};\nappearanceStyles.light = {};\nappearanceStyles.dark = {};\nexport const getAllModeStyles = mode => {\n const curMode = appearanceStyles[mode];\n const appearanceString = Object.keys(curMode).map(key => `${key}: ${curMode[key]};`).join(`\n`);\n return appearanceString;\n};\nexport const sendUpdate = (name, values) => {\n appearanceStyles.light[name] = values.light;\n appearanceStyles.dark[name] = values.dark;\n};","import { sendUpdate } from \"@churchofjesuschrist/eden-appearance\";\n// Define the modes we will use\nconst modeStyles = {};\nmodeStyles.light = {};\nmodeStyles.dark = {};\n\n// For tracking the names used for modeStyles. This is used to ensure that no duplicate names are used. If a duplicate is found, a warning will be logged.\nconst modeCssVariableRef = {};\n\n/**\n * What do we get from this centralized function?\n * 1 - `--` prefix can be added without it needing to be defined in every definition call\n * 2 - We define the variable reference here so can have the fallback included now, and if we make Appearance required in the future it is a single place we can remove the fallback from.\n * 3 - We can check for duplicate variable names and warn if a duplicate is found\n * 4 - Ensure both light and dark modes have a value set and warn if they don't\n * 5 - Puts values into shared modes object which can be used to generate light/dark variable definition blocks (see getMode toward bottom of file)\n * 6 - light/dark values are set one time, in the same place, then can be used in multiple places (returned CSS var reference, in mode object, etc)\n * - :root level\n * - locally scoped Mode level (Mode inside a Mode, like an always dark (inverted) media player)\n * - fallback default for css var reference\n * 7 - Global values and component values are managed the same way. They only difference is the global ones are exported for easier IDE autocomplete usage. If package level values needed to be shared across multiple components within a package, they could be exported too.\n */\n/**\n * name: the name of the variable\n * light: the value for the light mode\n * dark: the value for the dark mode\n * prefix: the prefix to use for the variable name\n * noDuplicateCheck: if true, will not check for duplicate variable names, used when setting a custom theme which will all be duplicates. Unused for now, but could be used in the future if we add a way to set a custom theme.\n */\nconst setStyleConstant = (name, {\n light,\n dark,\n prefix = \"--\",\n noDuplicateCheck\n}) => {\n const combinedName = prefix + name;\n // TODO: if there becomes a way to access the context outside of a component, we could see if they were using a mode and if they are, do not include the fallback since the `:root` definitions would be set\n const cssVarReferenceWithDefault = `var(${combinedName}, ${light})`; // needs a fallback for when a project is not using Appearance\n // name re-use check, see if the name exists already and if the value is different\n if (modeCssVariableRef[combinedName] !== undefined && modeCssVariableRef[combinedName] !== cssVarReferenceWithDefault && !noDuplicateCheck) {\n console.warn(`Duplicate variable name ${combinedName}.\nOld Value: ${modeCssVariableRef[combinedName]}\nNew Value: ${cssVarReferenceWithDefault}`);\n }\n modeCssVariableRef[combinedName] = cssVarReferenceWithDefault;\n light ? modeStyles.light[combinedName] = light : console.warn(`No \\`light\\` value set for ${name}`);\n dark ? modeStyles.dark[combinedName] = dark : console.warn(`No \\`dark\\` value set for ${name}`);\n sendUpdate(combinedName, {\n light,\n dark\n });\n // Return the CSS reference to the variable\n return cssVarReferenceWithDefault;\n};\nexport const setAppearanceConstant = (name, {\n light,\n dark,\n prefix = \"project\"\n}) => {\n if (![\"project\", \"eden\"].includes(prefix)) {\n console.warn(\"setAppearanceConstant only allows a prefix of `project` or `eden`, you provided:\", prefix);\n return;\n } else {\n prefix = \"--\" + prefix + \"-\";\n }\n return setStyleConstant(name, {\n light,\n dark,\n prefix\n });\n};\n\n// Only used within eden-style-constants to set global values\nexport const setAppearanceConstantGlobal = (name, {\n light,\n dark\n}) => setStyleConstant(name, {\n light,\n dark,\n prefix: \"--\"\n});\n\n// Return the raw styles for a given modeStyle\nexport const getAppearanceConstant = modeStyleResult => {\n // this takes a string like `var(--foo, #f00)` and returns `--foo`\n const extractedName = modeStyleResult.match(/--[\\w-]+/)[0];\n if (!modeCssVariableRef[extractedName]) {\n console.warn(`No appearance style found for ${extractedName}`);\n }\n return {\n name: extractedName,\n light: modeStyles.light[extractedName],\n dark: modeStyles.dark[extractedName]\n };\n};\n\n/*\nThis is for CSS to be used locally within a component, not to be used globally. The returned CSS should be inserted into the component's CSS block so that it is scoped to the component.\n\nBecause this is locally scoped, it makes potential future \"themes\" difficult as the values are not at the root level to override, but inside an unknown selector.\n\nPotential solutions:\n- Add theme related instructions to the context which could be checked for and used to override here\n- Add theme related instructions to a new global which could be checked for and used to override here\n*/\nexport const setAppearanceConstantLocal = (name, {\n light,\n dark,\n prefix = \"project\"\n}) => [({\n theme: {\n edenAppearanceMode: mode\n } = {\n edenAppearanceMode: \"light\"\n }\n}) => {\n if (!dark) console.warn(`No \\`dark\\` value set for ${name}`);\n\n // The definition of the CSS variable that will be used in the component for dark mode\n const darkCSS = `--${prefix}-${name} : ${dark};`;\n let css = \"\";\n\n // if mode is `dark` return the darkCSS without condition to set the CSS variable that dark mode will use\n if (mode === \"dark\") css = darkCSS;\n\n // if mode is `os` return the darkCSS with condition to only show when the OS is set to dark. Because of the wrapper it needs the `&` to reflect the current selector back in the component it will be included within\n if (mode === \"os\") {\n css = `@media (prefers-color-scheme: dark) {\n & { ${darkCSS} }\n }`;\n }\n return css;\n}, () => {\n if (!light) console.warn(`No \\`light\\` value set for ${name}`);\n\n // TODO: When theming comes along could do `light = context.theme.local[name] || light` or something\n // Return the CSS reference to the variable\n return `var(--${prefix}-${name}, ${light})`;\n}];","/* Colors */\nexport const grey2 = \"#f7f8f8\";\nexport const grey3 = \"#eff0f0\";\nexport const grey5 = \"#e0e2e2\";\nexport const grey10 = \"#d0d3d3\";\nexport const grey15 = \"#bdc0c0\";\nexport const grey20 = \"#a9adad\";\nexport const grey25 = \"#9da1a1\";\nexport const grey30 = \"#878a8c\";\nexport const grey35 = \"#676b6e\";\nexport const grey40 = \"#53575b\";\nexport const grey60 = \"#3a3d40\";\nexport const grey90 = \"#0D0F10\";\nexport const yellow5 = \"#ffd61a\";\nexport const yellow10 = \"#ffb81c\";\nexport const yellow15 = \"#faa61a\";\nexport const yellow20 = \"#f68d2e\";\nexport const yellow25 = \"#e66a1f\";\nexport const yellow30 = \"#d45311\";\nexport const yellow35 = \"#974a07\";\nexport const yellow40 = \"#674730\";\nexport const red5 = \"#fda1b2\";\n// Exception where we need to have a different color for light vs dark due to accessibility contrast on our normally \"fixed\" color values.\nexport const red10 = setAppearanceConstantGlobal(\"red10\", {\n light: \"#fc4e6d\",\n dark: \"#FF7591\"\n});\nexport const red15 = setAppearanceConstantGlobal(\"red15\", {\n light: \"#e10f5a\",\n dark: \"#ED3A65\"\n});\nexport const red20 = \"#bd0057\";\nexport const red25 = \"#a6004e\";\nexport const red30 = \"#8f124a\";\nexport const red35 = \"#7d003f\";\nexport const red40 = \"#6e0d33\";\nexport const blue5 = \"#b0eefc\";\nexport const blue10 = \"#7de3f4\";\nexport const blue15 = \"#49cce6\";\nexport const blue20 = \"#01b6d1\";\nexport const blue25 = \"#007da5\";\nexport const blue30 = \"#006184\";\nexport const blue35 = \"#005175\";\nexport const blue40 = \"#003057\";\nexport const green5 = \"#d3e952\";\nexport const green10 = \"#bed21e\";\nexport const green15 = \"#93c742\";\nexport const green20 = \"#6db344\";\nexport const green25 = \"#50a83e\";\nexport const green30 = \"#318d43\";\nexport const green35 = \"#206b3f\";\nexport const green40 = \"#235c35\";\nexport const text120 = \"#212225\";\nexport const black = \"#000000\";\nexport const white = \"#ffffff\";\nexport const colorFacebook = \"#3b5998\";\nexport const colorInstagram = \"#3c5a96\";\nexport const colorPinterest = \"#cb2027\";\nexport const colorYoutube = \"#cd201f\";\nexport const colorOdnok = \"#ed812b\";\nexport const colorVk = \"#45668e\";\n\n/* Font families */\n// The Android fonts (Roboto, Noto Serif) need to come before other fallbacks (Arial, Georgia) because Android aliases those names to the Android fonts and the fallback metric adjustments won't correctly apply (See Fonts 2.1.0)\nexport const sans = `\"Ensign:Sans\", Roboto, Arial, sans-serif`;\nexport const serif = `\"Ensign:Serif\", \"Noto Serif\", Georgia, serif`;\nexport const monospace = `Courier, \"Courier New\", monospace`;\n\n/* Font Weights */\nexport const fontWeightLight = 300;\nexport const fontWeightNormal = 400;\nexport const fontWeightSemiBold = 600;\nexport const fontWeightBold = 700;\n\n/* Font sizes */\nexport const fontSizeRoot = `100%`; // effectively 16px (16px * 100% = 16px) but respects users' special needs, then desired px / 16px (root size) = rem\nexport const fontSize11 = \"0.6875rem\";\nexport const fontSize13 = \"0.8125rem\";\nexport const fontSize14 = \"0.875rem\";\nexport const fontSize16 = \"1rem\";\nexport const fontSize18 = \"1.125rem\";\nexport const fontSize20 = \"1.25rem\";\nexport const fontSize28 = \"1.75rem\";\nexport const fontSize32 = \"2rem\";\nexport const fontSize42 = \"2.625rem\";\n\n/* Line heights */\nexport const lineHeightTight = 1.2;\nexport const lineHeight = 1.4;\nexport const lineHeightLoose = 1.6;\n\n/* Spacings */\nexport const spacing4 = \"0.25rem\"; // 4px\nexport const spacing8 = \"0.5rem\"; // 8px\nexport const spacing16 = \"1rem\"; // 16px\nexport const spacing24 = \"1.5rem\"; // 24px\nexport const spacing32 = \"2rem\"; // 32px\nexport const spacing48 = \"3rem\"; // 48px\nexport const spacing64 = \"4rem\"; // 64px\nexport const spacing96 = \"6rem\"; // 96px\nexport const spacing128 = \"8rem\"; // 128px\n\n/* Breakpoints */\nexport const breakWidth480 = \"480px\";\nexport const breakWidth600 = \"600px\";\nexport const breakWidth840 = \"840px\";\nexport const breakWidth960 = \"960px\";\nexport const breakWidth1280 = \"1280px\";\nexport const breakWidth1440 = \"1440px\";\nexport const breakWidth1600 = \"1600px\";\n\n/* Aspect ratios */\nexport const aspectRatio1By1 = {\n width: 1,\n height: 1,\n key: \"1:1\"\n};\nexport const aspectRatio5By6 = {\n width: 5,\n height: 6,\n key: \"5:6\"\n};\nexport const aspectRatio5By8 = {\n width: 5,\n height: 8,\n key: \"5:8\"\n};\nexport const aspectRatio6By5 = {\n width: 6,\n height: 5,\n key: \"6:5\"\n};\nexport const aspectRatio8By3 = {\n width: 8,\n height: 3,\n key: \"8:3\"\n};\nexport const aspectRatio8By5 = {\n width: 8,\n height: 5,\n key: \"8:5\"\n};\nexport const aspectRatio16By9 = {\n width: 16,\n height: 9,\n key: \"16:9\"\n};\nexport const aspectRatios = [aspectRatio1By1, aspectRatio5By6, aspectRatio5By8, aspectRatio6By5, aspectRatio8By3, aspectRatio8By5, aspectRatio16By9];\n\n/* Z indexes */\nexport const zIndexHigherThanPlatform = 200;\n\n/* Border radius */\nexport const borderRadius = \"0.125rem\"; // 2px\n\n/* White transparencies (used for dark mode) - comment of where they came from is current naming in Figma. In time they should update to match ours */\nexport const whiteTransparency10 = \"#FFFFFFDE\"; // Figma: Dark Mode/Transparency/87%\nexport const whiteTransparency20 = \"#FFFFFF99\"; // Figma: Dark Mode/Transparency/60%\nexport const whiteTransparency30 = \"#FFFFFF61\"; // Figma: Dark Mode/Transparency/38%\nexport const whiteTransparency40 = \"#FFFFFF3D\"; // Figma: Dark Mode/Transparency/24%\nexport const whiteTransparency50 = \"#FFFFFF33\"; // Figma: Dark Mode/Transparency/20%\nexport const whiteTransparency60 = \"#FFFFFF29\"; // Figma: Dark Mode/Transparency/16%\nexport const whiteTransparency70 = \"#FFFFFF1F\"; // Figma: Dark Mode/Transparency/12%\nexport const whiteTransparency80 = \"#FFFFFF14\"; // Figma: Dark Mode/Transparency/8%\n\n/**\n *\n * Appearance Constants\n *\n */\n\nimport { setAppearanceConstantGlobal } from \"./modes\";\nexport { setAppearanceConstant, getAppearanceConstant, setAppearanceConstantLocal } from \"./modes\";\n\n// Backgrounds\nexport const backgroundColorAlt = setAppearanceConstantGlobal(\"background-color-alt\", {\n light: grey3,\n dark: whiteTransparency30\n});\nexport const backgroundColorHover = setAppearanceConstantGlobal(\"background-color-hover\", {\n light: grey3,\n dark: whiteTransparency60\n});\nexport const backgroundColorActive = setAppearanceConstantGlobal(\"background-color-active\", {\n light: grey5,\n dark: whiteTransparency40\n});\nexport const backgroundColorDisabled = setAppearanceConstantGlobal(\"background-color-disabled\", {\n light: grey2,\n dark: whiteTransparency70\n});\n\n// This is somewhat dynamically updated by code at the bottom of normalize. This tries to match the current level of the background, which changes on dark mode. Some child components will need to reflect the current background level of their parent which this facilitates.\nexport const backgroundColorLevelCurrent = setAppearanceConstantGlobal(\"background-color-level-current\", {\n light: white,\n dark: \"#121212\"\n});\nexport const backgroundColorLevel1 = setAppearanceConstantGlobal(\"background-color-level1\", {\n light: white,\n dark: \"#121212\"\n});\nexport const backgroundColorLevel2 = setAppearanceConstantGlobal(\"background-color-level2\", {\n light: white,\n // 8% white on #121212\n dark: \"#252525\"\n});\nexport const backgroundColorLevel3 = setAppearanceConstantGlobal(\"background-color-level3\", {\n light: white,\n // 11% white on #121212\n dark: \"#2c2c2c\"\n});\nexport const backgroundColorLevel4 = setAppearanceConstantGlobal(\"background-color-level4\", {\n light: white,\n // 14% white on #121212\n dark: \"#333333\"\n});\nexport const backgroundColorLevel5 = setAppearanceConstantGlobal(\"background-color-level5\", {\n light: white,\n // 16% white on #121212\n dark: \"#383838\"\n});\n\n// text/icon\nexport const textColorPrimary = setAppearanceConstantGlobal(\"text-color-primary\", {\n light: text120,\n dark: whiteTransparency10\n});\nexport const textColorSecondary = setAppearanceConstantGlobal(\"text-color-secondary\", {\n light: grey40,\n dark: whiteTransparency20\n});\nexport const textColorTertiary = setAppearanceConstantGlobal(\"text-color-tertiary\", {\n light: grey30,\n dark: whiteTransparency30\n});\nexport const textColorInverted = setAppearanceConstantGlobal(\"text-color-inverted\", {\n light: white,\n dark: black\n});\n\n// accents\nexport const accentColorLink = setAppearanceConstantGlobal(\"accent-color-link\", {\n light: \"#157493\",\n dark: blue15\n});\nexport const accentColorLinkActive = setAppearanceConstantGlobal(\"accent-color-link-active\", {\n light: \"#b00504\",\n dark: \"#FF7770\"\n});\nexport const accentColorLinkVisited = setAppearanceConstantGlobal(\"accent-color-link-visited\", {\n light: \"#9C4F9C\",\n dark: \"#C092FC\"\n});\nexport const accentColorPrimary = setAppearanceConstantGlobal(\"accent-color-primary\", {\n light: blue30,\n dark: blue15\n});\nexport const accentColorInfo = setAppearanceConstantGlobal(\"accent-color-info\", {\n light: \"#1E9FC8\",\n dark: blue10\n});\nexport const accentColorConfirmation = setAppearanceConstantGlobal(\"accent-color-confirmation\", {\n light: \"#64A53D\",\n dark: green15\n});\nexport const accentColorWarning = setAppearanceConstantGlobal(\"accent-color-warning\", {\n light: \"#EC7000\",\n dark: yellow15\n});\nexport const accentColorDanger = setAppearanceConstantGlobal(\"accent-color-danger\", {\n light: \"#b00504\",\n dark: \"#ff7770\"\n});\n\n// Borders\nexport const borderColorPrimary = setAppearanceConstantGlobal(\"border-color-primary\", {\n light: grey30,\n dark: whiteTransparency20\n});\nexport const borderColorSecondary = setAppearanceConstantGlobal(\"border-color-secondary\", {\n light: grey15,\n dark: whiteTransparency30\n});\nexport const borderColorTertiary = setAppearanceConstantGlobal(\"border-color-tertiary\", {\n light: grey5,\n dark: whiteTransparency70\n});\n\n// highlights\n\nexport const highlightRed = setAppearanceConstantGlobal(\"highlight-red\", {\n light: \"#FE4F6633\",\n dark: \"#BA505E61\"\n});\nexport const highlightOrange = setAppearanceConstantGlobal(\"highlight-orange\", {\n light: \"#FE98293D\",\n dark: \"#C68A4E61\"\n});\nexport const highlightYellow = setAppearanceConstantGlobal(\"highlight-yellow\", {\n light: \"#FCDB3B61\",\n dark: \"#D6BF5961\"\n});\nexport const highlightGreen = setAppearanceConstantGlobal(\"highlight-green\", {\n light: \"#A9D5273D\",\n dark: \"#8CA05261\"\n});\nexport const highlightBlue = setAppearanceConstantGlobal(\"highlight-blue\", {\n light: \"#10D9E133\",\n dark: \"#60B5B861\"\n});\nexport const highlightDarkBlue = setAppearanceConstantGlobal(\"highlight-darkblue\", {\n light: \"#2596FF29\",\n dark: \"#5587B561\"\n});\nexport const highlightPurple = setAppearanceConstantGlobal(\"highlight-purple\", {\n light: \"#9D53FE29\",\n dark: \"#7654A561\"\n});\nexport const highlightPink = setAppearanceConstantGlobal(\"highlight-pink\", {\n light: \"#F85BEA33\",\n dark: \"#B56BB04D\"\n});\nexport const highlightBrown = setAppearanceConstantGlobal(\"highlight-brown\", {\n light: \"#CD7D5A33\",\n dark: \"#946D5D61\"\n});\nexport const highlightGrey = setAppearanceConstantGlobal(\"highlight-grey\", {\n light: \"#AEB8C13D\",\n dark: \"#8E969C61\"\n});\n\n// box shadows\nexport const boxShadowRaised = setAppearanceConstantGlobal(\"box-shadow-raised\", {\n light: \"0 2px 4px 0 #00000033\",\n // 20%\n dark: \"0 2px 4px 0 #00000066\" // 40%\n});\nexport const boxShadowDetached = setAppearanceConstantGlobal(\"box-shadow-detached\", {\n light: \"0 4px 8px 0 #00000033\",\n dark: \"0 4px 8px 0 #00000066\"\n});\nexport const boxShadowOverlaid = setAppearanceConstantGlobal(\"box-shadow-overlaid\", {\n light: \"0 8px 16px 0 #00000033\",\n dark: \"0 8px 16px 0 #00000066\"\n});\nexport const boxShadowPoppedOut = setAppearanceConstantGlobal(\"box-shadow-popped\", {\n light: \"0 16px 32px 0 #00000033\",\n dark: \"0 16px 32px 0 #00000066\"\n});\nexport const colorScheme = setAppearanceConstantGlobal(\"color-scheme\", {\n light: \"light\",\n dark: \"dark\"\n});","/**\n * Based on pattern from https://github.com/jaredLunde/react-hook/tree/master/packages/resize-observer\n *\n * As cited there, https://groups.google.com/a/chromium.org/g/blink-dev/c/z6ienONUb5A/m/F5-VcUZtBAAJ\n * explains how multiple ResizeObservers on a page can have reduced\n * performance.\n *\n * This package only ever creates one ResizeObserver that will be shared across\n * all `useResizeObserver` instances. However, it does it in a way that only\n * the relevant callbacks are called when certain targets resize.\n */\n\"use client\";\n\nimport { useEffect } from \"react\";\nclass MockResizeObserver {\n observe() {}\n unobserve() {}\n disconnect() {}\n}\nlet memoizedResizeObserverProxy;\nfunction getMemoizedResizeObserverProxy() {\n if (!memoizedResizeObserverProxy) {\n memoizedResizeObserverProxy = createResizeObserverProxy();\n }\n return memoizedResizeObserverProxy;\n}\nfunction createResizeObserverProxy() {\n /**\n * Store all the callbacks in a Map where the callback functions are the\n * keys and the values are a Set of all the targets the callback applies\n * to. This is how ResizeObserver is structured: it can apply the given\n * callback to multiple observed targets.\n */\n const callbacksMap = new Map();\n /**\n * Create a single shared ResizeObserver. It's callback will handle looping\n * through the callbacksMap and calling any relevant callbacks supplied by\n * consumers.\n */\n function callback(entries) {\n callbacksMap.forEach((targetSet, callback) => {\n /**\n * Find the ResizeObserver's entries that have targets matching the\n * current loop's callback:\n */\n const entriesForThisCallback = entries.filter(entry => targetSet.has(entry.target));\n if (entriesForThisCallback.length > 0) {\n callback(entriesForThisCallback);\n }\n });\n }\n try {\n // Jest doesn't support ResizeObserver\n let resizeObserver;\n if (typeof ResizeObserver !== \"undefined\") {\n resizeObserver = new ResizeObserver(callback);\n } else {\n resizeObserver = new MockResizeObserver(callback);\n }\n return {\n resizeObserver,\n add(callback, target, options) {\n if (target) {\n resizeObserver.observe(target, options);\n /** Create a Set for the callback's targets if it doesn't exist. */\n if (!callbacksMap.has(callback)) {\n callbacksMap.set(callback, new Set());\n }\n /** Now add the given target to the targetSet */\n const targetSet = callbacksMap.get(callback);\n targetSet.add(target);\n }\n },\n remove(callback, target) {\n if (target) {\n /** Get the targetSet for the callback if it exists. */\n const targetSet = callbacksMap.get(callback) ?? new Set();\n targetSet.delete(target);\n /** Remove the callback from the Map if it has no more targets. */\n if (targetSet.size === 0) {\n callbacksMap.delete(callback);\n }\n /**\n * Unobserve the target if it is no longer associated with any\n * callbacks. */\n if (!Array.from(callbacksMap.values()).some(targetSet => targetSet.has(target))) {\n resizeObserver.unobserve(target);\n }\n }\n }\n };\n } catch (error) {\n console.warn(\"eden-resize-observer could not create a ResizeObserver:\", error);\n }\n}\nexport default function useResizeObserver(callback, refOrElement, options) {\n const proxy = getMemoizedResizeObserverProxy();\n useEffect(() => {\n if (!callback || !refOrElement) {\n console.error(\"eden-resize-observer:\", new TypeError(\"The `callback` and `target` arguments are required.\"));\n return;\n }\n if (proxy) {\n const target = refOrElement && \"current\" in refOrElement ? refOrElement.current : refOrElement;\n proxy.add(callback, target, options);\n return () => proxy.remove(callback, target);\n }\n }, [callback, options, proxy, refOrElement]);\n}","\"use client\";\n\nimport { useState, forwardRef, useRef, useCallback } from \"react\";\nimport PropTypes from \"prop-types\";\nimport styled from \"styled-components\";\nimport { boxShadowRaised, boxShadowDetached, borderColorTertiary, borderRadius, backgroundColorLevelCurrent } from \"@churchofjesuschrist/eden-style-constants\";\nimport { TileContext } from \"./tileContext\";\nimport useResizeObserver from \"@churchofjesuschrist/eden-resize-observer\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst StyledVerticalModularTile = styled.div.withConfig({\n componentId: \"sc-8c1lm1-0\"\n})([\"border-radius:\", \";border:1px solid \", \";box-shadow:\", \";background:\", \";&:hover{box-shadow:\", \";}overflow:hidden;width:100%;\"], borderRadius, borderColorTertiary, boxShadowRaised, backgroundColorLevelCurrent, boxShadowDetached);\n\n/** A wrapper for a vertical modular tile. */\nconst VerticalModularTile = /*#__PURE__*/forwardRef(({\n children,\n ...props\n}, forwardedRef) => {\n const internalRef = useRef();\n const ref = forwardedRef || internalRef;\n const [isCondensed, setIsCondensed] = useState(false);\n useResizeObserver(useCallback(([entry]) => {\n setIsCondensed(entry.contentRect.width < 150);\n }, []), ref);\n return /*#__PURE__*/_jsx(StyledVerticalModularTile, {\n ...props,\n ref: ref,\n children: /*#__PURE__*/_jsx(TileContext.Provider, {\n value: isCondensed,\n children: children\n })\n });\n});\nVerticalModularTile.displayName = \"VerticalModularTile\";\nVerticalModularTile.propTypes = {\n /** Content of the tile, should be composed using the other components in this package. Add native anchor elements around relevant components. */\n children: PropTypes.node\n};\nexport default VerticalModularTile;","\"use client\";\nimport { jsx } from \"react/jsx-runtime\";\nimport { forwardRef } from \"react\";\nimport shared from \"./shared\";\nimport styled from \"styled-components\";\nimport {\n accentColorPrimary,\n grey3,\n grey5,\n getAppearanceConstant,\n setAppearanceConstantLocal\n} from \"@churchofjesuschrist/eden-style-constants\";\nimport { adjustHexAlpha } from \"@churchofjesuschrist/eden-utilities\";\nconst accentColorPrimaryModeStyle = getAppearanceConstant(accentColorPrimary);\nconst darkRootColor = accentColorPrimaryModeStyle.dark;\nconst [buttonGhostHoverDef, buttonGhostHover] = setAppearanceConstantLocal(\n \"button-ghost-hover\",\n {\n light: grey3,\n dark: adjustHexAlpha(darkRootColor, 0.16),\n prefix: \"eden\"\n }\n);\nconst [buttonGhostActiveDef, buttonGhostActive] = setAppearanceConstantLocal(\n \"button-ghost-active\",\n {\n light: grey5,\n dark: adjustHexAlpha(darkRootColor, 0.24),\n prefix: \"eden\"\n }\n);\nconst Component = styled.button`\n ${shared};\n ${buttonGhostHoverDef};\n ${buttonGhostActiveDef};\n background: none;\n color: ${accentColorPrimary};\n\n @media (any-hover: hover) {\n &:hover {\n background: ${buttonGhostHover};\n color: ${accentColorPrimary};\n }\n }\n\n &:active,\n &[aria-pressed=\"true\"] {\n background: ${buttonGhostActive};\n }\n\n &[disabled],\n &[disabled]:hover {\n background: none;\n }\n &:is(a):visited:not(:active) {\n color: ${accentColorPrimary};\n }\n`;\nconst GhostComponent = ({\n href,\n disabled,\n renderAs = href && !disabled ? \"a\" : \"button\",\n type = renderAs === \"button\" ? \"button\" : void 0,\n small,\n fullWidth,\n ...props\n}, ref) => /* @__PURE__ */ jsx(\n Component,\n {\n ...props,\n ref,\n type,\n href,\n disabled,\n $fullWidth: fullWidth,\n $small: small,\n as: renderAs,\n children: props.children\n }\n);\nconst Ghost = forwardRef(GhostComponent);\nGhost.displayName = \"Ghost\";\nvar Ghost_default = Ghost;\nexport {\n Ghost_default as default\n};\n","\"use client\";\n\nimport PropTypes from \"prop-types\";\nimport styled, { css } from \"styled-components\";\nimport { sans as zoram, fontSize14, lineHeightTight, fontWeightBold } from \"@churchofjesuschrist/eden-style-constants\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const internalUseOnlyPriority5 = css([\"margin:0;font-family:\", \";font-weight:\", \";font-size:\", \";line-height:\", \";\"], zoram, fontWeightBold, fontSize14, lineHeightTight);\nconst H5Styled = styled.h5.withConfig({\n componentId: \"sc-1k9r0br-0\"\n})([\"\", \";\"], internalUseOnlyPriority5);\n\n/**\n * The fifth level heading style. You can override the semantics by passing a different `renderAs` prop to still look like an `h5` but be an `h4` (or other heading) if needed.\n */\nconst H5 = ({\n children,\n renderAs,\n ...props\n}) => /*#__PURE__*/_jsx(H5Styled, {\n as: renderAs,\n ...props,\n children: children\n});\nexport default H5;\nH5.propTypes = {\n /** Content inside heading */\n children: PropTypes.node.isRequired,\n /** The HTML tag string (e.g., `\"div\"`) or React component to render as. */\n renderAs: PropTypes.elementType\n};","\"use client\";\n\nimport PropTypes from \"prop-types\";\nimport styled, { css } from \"styled-components\";\nimport { sans as zoram, fontSize18, lineHeightTight, fontWeightSemiBold } from \"@churchofjesuschrist/eden-style-constants\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const internalUseOnlyPriority4 = css([\"margin:0;font-family:\", \";font-weight:\", \";font-size:\", \";line-height:\", \";\"], zoram, fontWeightSemiBold, fontSize18, lineHeightTight);\nconst H4Styled = styled.h4.withConfig({\n componentId: \"sc-12mz36o-0\"\n})([\"\", \";\"], internalUseOnlyPriority4);\n\n/**\n * The fourth level heading style. You can override the semantics by passing a different `renderAs` prop to still look like an `h4` but be an `h3` (or other heading) if needed.\n */\nconst H4 = ({\n children,\n renderAs,\n ...props\n}) => /*#__PURE__*/_jsx(H4Styled, {\n as: renderAs,\n ...props,\n children: children\n});\nexport default H4;\nH4.propTypes = {\n /** Content inside heading */\n children: PropTypes.node.isRequired,\n /** The HTML tag string (e.g., `\"div\"`) or React component to render as. */\n renderAs: PropTypes.elementType\n};","import { css } from \"styled-components\";\nimport { spacing8 } from \"@churchofjesuschrist/eden-style-constants\";\nconst shared = css([\"margin:0;& > :first-child{margin-block-start:0;}& > :last-child{margin-block-end:0;}& > :first-child > :first-child{margin-block-start:0;}& > :last-child > :last-child{margin-block-end:0;}& ol,& ul{& li:not(:last-child){margin-block-end:\", \";}}& ol{list-style-type:decimal;& ol{list-style-type:upper-latin;& ol{list-style-type:upper-roman;& ol{list-style-type:lower-latin;}}}}& ul{list-style-type:disc;& ul{list-style-type:circle;& ul{list-style-type:square;}}}\"], spacing8);\nexport default shared;","\"use client\";\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport styled from \"styled-components\";\nimport { sans as zoram, lineHeight, fontSize11, fontWeightNormal, fontWeightBold } from \"@churchofjesuschrist/eden-style-constants\";\nimport shared from \"./shared\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Container6 = styled.div.withConfig({\n componentId: \"sc-ht51d3-0\"\n})([\"font-family:\", \";font-weight:\", \";line-height:\", \";font-size:\", \";\", \";& b,& strong{font-weight:\", \";}\"], zoram, fontWeightNormal, lineHeight, fontSize11, shared, fontWeightBold);\n\n/** `Text6` (Legal) is for text that people won't want to read, but is required legally. */\nconst Text6 = ({\n children,\n renderAs = \"div\",\n ...props\n}) => /*#__PURE__*/_jsx(Container6, {\n as: renderAs,\n ...props,\n children: children\n});\nText6.displayName = \"Text6\";\nText6.propTypes = {\n /** Content */\n children: PropTypes.node.isRequired,\n /** What html tag or custom react element to render the text as */\n renderAs: PropTypes.elementType\n};\nexport default Text6;","\"use client\";\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport styled from \"styled-components\";\nimport { sans as zoram, lineHeight, fontSize13, fontWeightBold, fontWeightNormal } from \"@churchofjesuschrist/eden-style-constants\";\nimport shared from \"./shared\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Container5 = styled.div.withConfig({\n componentId: \"sc-1wnkqiv-0\"\n})([\"font-family:\", \";font-weight:\", \";line-height:\", \";font-size:\", \";\", \";& b,& strong{font-weight:\", \";}\"], zoram, fontWeightNormal, lineHeight, fontSize13, shared, fontWeightBold);\n\n/** `Text5` (Citation) is for text that people will want to read and is required legally. */\nconst Text5 = ({\n children,\n renderAs = \"div\",\n ...props\n}) => /*#__PURE__*/_jsx(Container5, {\n as: renderAs,\n ...props,\n children: children\n});\nText5.displayName = \"Text5\";\nText5.propTypes = {\n /** Content */\n children: PropTypes.node.isRequired,\n /** What html tag or custom react element to render the text as */\n renderAs: PropTypes.elementType\n};\nexport default Text5;","\"use client\";\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport styled from \"styled-components\";\nimport { sans as zoram, lineHeight, fontSize14, fontWeightNormal, fontWeightSemiBold, fontWeightBold } from \"@churchofjesuschrist/eden-style-constants\";\nimport shared from \"./shared\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Container4 = styled.div.withConfig({\n componentId: \"sc-1u44evz-0\"\n})([\"font-family:\", \";font-weight:\", \";line-height:\", \";font-size:\", \";\", \";& b,& strong{font-weight:\", \";}\"], zoram, ({\n $emphasized\n}) => $emphasized ? fontWeightSemiBold : fontWeightNormal, lineHeight, fontSize14, shared, fontWeightBold);\n\n/** `Text4` (Description) is used for text supportive to the primary text. */\nconst Text4 = ({\n children,\n emphasized = false,\n renderAs = \"div\",\n ...props\n}) => /*#__PURE__*/_jsx(Container4, {\n $emphasized: emphasized,\n as: renderAs,\n ...props,\n children: children\n});\nText4.displayName = \"Text4\";\nText4.propTypes = {\n /** Content */\n children: PropTypes.node.isRequired,\n /** Whether the styles should display as emphasized */\n emphasized: PropTypes.bool,\n /** What html tag or custom react element to render the text as */\n renderAs: PropTypes.elementType\n};\nexport default Text4;","\"use client\";\n\nimport PropTypes from \"prop-types\";\nimport styled from \"styled-components\";\nimport { spacing4, spacing8, spacing16, spacing24, spacing32, spacing48, spacing64, spacing128 } from \"@churchofjesuschrist/eden-style-constants\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst gaps = {\n 0: \"0\",\n 4: spacing4,\n 8: spacing8,\n 16: spacing16,\n 24: spacing24,\n 32: spacing32,\n 48: spacing48,\n 64: spacing64,\n 128: spacing128\n};\nconst alignContentMap = {\n start: \"start\",\n center: \"center\",\n end: \"end\",\n normal: \"normal\"\n};\nconst Container = styled.div.withConfig({\n componentId: \"sc-3wjzbl-0\"\n})([\"display:grid;grid-gap:\", \";grid-auto-columns:100%;align-content:\", \";\"], ({\n $gapSize\n}) => gaps[$gapSize], ({\n $align\n}) => alignContentMap[$align]);\nconst Stack = ({\n gapSize = \"16\",\n align = \"normal\",\n children,\n ...props\n}) => /*#__PURE__*/_jsx(Container, {\n $gapSize: gapSize,\n $align: align,\n ...props,\n children: children\n});\nconst gapsKeys = Object.keys(gaps);\nconst alignKeys = Object.keys(alignContentMap);\nStack.propTypes = {\n /** Stack items */\n children: PropTypes.node,\n /** Gutter space between rows */\n gapSize: PropTypes.oneOf(gapsKeys),\n /** How to align the items vertically in the stack */\n align: PropTypes.oneOf(alignKeys)\n};\nexport default Stack;","\"use client\";\n\nimport { useContext } from \"react\";\nimport PropTypes from \"prop-types\";\nimport styled from \"styled-components\";\nimport { spacing8, spacing16, textColorPrimary, spacing4 } from \"@churchofjesuschrist/eden-style-constants\";\nimport { H4, H5 } from \"@churchofjesuschrist/eden-headings\";\nimport { Text4, Text5, Text6 } from \"@churchofjesuschrist/eden-text\";\nimport Stack from \"@churchofjesuschrist/eden-stack\";\nimport { TileContext } from \"./tileContext\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst StyledBodyRail = styled.div.withConfig({\n componentId: \"sc-crhpvg-0\"\n})([\"display:inline-block;width:100%;color:\", \";& :hover{color:\", \";}\"], textColorPrimary, textColorPrimary);\nconst StyledBodyWrapper = styled.div.withConfig({\n componentId: \"sc-crhpvg-1\"\n})([\"padding:\", \";\", \";\"], ({\n $isCondensed\n}) => $isCondensed ? spacing8 : spacing16, ({\n height\n}) => height && `height: ${height}`);\nconst MetaContent = styled.div.withConfig({\n componentId: \"sc-crhpvg-2\"\n})([\"display:flex;align-items:center;\"]);\nconst BadgeContainer = styled.div.withConfig({\n componentId: \"sc-crhpvg-3\"\n})([\"display:flex;align-items:center;\"]);\nconst MetaStyled = styled(({\n $isCondensed,\n children,\n ...props\n}) => $isCondensed ? /*#__PURE__*/_jsx(Text6, {\n ...props,\n children: children\n}) : /*#__PURE__*/_jsx(Text5, {\n ...props,\n children: children\n})).withConfig({\n componentId: \"sc-crhpvg-4\"\n})([\"color:\", \";overflow:hidden;text-overflow:ellipsis;white-space:nowrap;* + &{margin-inline-start:\", \";}\"], ({\n $primaryColor\n}) => $primaryColor ? $primaryColor : textColorPrimary, spacing4);\nconst TitleStyled = styled(({\n isCondensed,\n children,\n ...props\n}) => isCondensed ? /*#__PURE__*/_jsx(H5, {\n renderAs: \"div\",\n ...props,\n children: children\n}) : /*#__PURE__*/_jsx(H4, {\n renderAs: \"div\",\n ...props,\n children: children\n})).withConfig({\n componentId: \"sc-crhpvg-5\"\n})([\"display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;\"]);\nconst ChildrenStyled = styled(({\n $isCondensed,\n children,\n ...props\n}) => $isCondensed ? /*#__PURE__*/_jsx(Text5, {\n ...props,\n children: children\n}) : /*#__PURE__*/_jsx(Text4, {\n ...props,\n children: children\n})).withConfig({\n componentId: \"sc-crhpvg-6\"\n})([\"display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:\", \";overflow:hidden;\"], ({\n height\n}) => height ? Math.round(height / 45) : 4);\n\n/** A wrapper for the textual portions of the tile. */\nconst BodyRail = ({\n meta,\n theme = {\n primaryColor: textColorPrimary\n },\n title,\n height,\n badge,\n children,\n ...props\n}) => {\n const isCondensed = useContext(TileContext);\n return /*#__PURE__*/_jsx(StyledBodyRail, {\n ...props,\n children: /*#__PURE__*/_jsx(StyledBodyWrapper, {\n $isCondensed: isCondensed,\n height: height,\n children: /*#__PURE__*/_jsxs(Stack, {\n gapSize: \"4\",\n children: [meta || badge ? /*#__PURE__*/_jsxs(MetaContent, {\n children: [badge ? /*#__PURE__*/_jsx(BadgeContainer, {\n children: badge\n }) : null, meta && /*#__PURE__*/_jsx(MetaStyled, {\n $isCondensed: isCondensed,\n $primaryColor: theme.primaryColor,\n children: meta\n })]\n }) : null, title && /*#__PURE__*/_jsx(TitleStyled, {\n isCondensed: isCondensed,\n children: title\n }), children && /*#__PURE__*/_jsx(ChildrenStyled, {\n $isCondensed: isCondensed,\n children: children\n })]\n })\n })\n });\n};\nBodyRail.displayName = \"BodyRail\";\nBodyRail.propTypes = {\n /** Title string */\n title: PropTypes.node,\n /** Description string */\n children: PropTypes.node,\n /** Meta string */\n meta: PropTypes.node,\n /** Theme used to set BodyRail meta color*/\n theme: PropTypes.shape({\n primaryColor: PropTypes.string.isRequired\n }),\n /**\n * Constrain rail to given height. If not provided, tile will grow to fit content.\n */\n height: PropTypes.string,\n /** An eden-badge element */\n badge: PropTypes.element\n};\nexport default BodyRail;"],"names":["TileContext","React","DialogModal","_ref","children","header","props","jsx","ToolModal","jsxs","Stack","H2","displayName","Img","styled","img","withConfig","componentId","focalPoint","x","y","Image","forwardRef","_ref2","ref","src","srcSet","sizes","alt","disableLazy","onLoad","_jsx","role","loading","propTypes","PropTypes","isRequired","GradientStyled","div","spacing64","ImageStyled","EdenImage","IconWrapper","spacing8","$isCondensed","spacing16","Bar","black","ImageRail","Icon","aspectRatio","rest","imgLoaded","setImageLoaded","useState","imgError","setImageError","isCondensed","useContext","image","useRef","useEffect","current","complete","_jsxs","style","position","replace","onError","size","color","white","appearanceStyles","modeStyles","modeCssVariableRef","setStyleConstant","name","light","dark","prefix","noDuplicateCheck","combinedName","cssVarReferenceWithDefault","undefined","console","warn","sendUpdate","values","setAppearanceConstantGlobal","_ref3","grey3","grey5","grey30","blue15","sans","fontWeightNormal","fontWeightSemiBold","fontWeightBold","fontSize11","fontSize13","fontSize14","fontSize18","lineHeightTight","lineHeight","spacing4","spacing24","spacing32","spacing48","spacing128","borderRadius","whiteTransparency20","whiteTransparency30","whiteTransparency70","backgroundColorLevelCurrent","textColorPrimary","borderColorTertiary","boxShadowRaised","boxShadowDetached","MockResizeObserver","observe","unobserve","disconnect","memoizedResizeObserverProxy","getMemoizedResizeObserverProxy","callbacksMap","Map","callback","entries","forEach","targetSet","entriesForThisCallback","filter","entry","has","target","length","resizeObserver","ResizeObserver","add","options","set","Set","get","remove","delete","Array","from","some","error","createResizeObserverProxy","StyledVerticalModularTile","VerticalModularTile","forwardedRef","internalRef","setIsCondensed","refOrElement","proxy","TypeError","useResizeObserver","useCallback","contentRect","width","Provider","value","darkRootColor","getAppearanceConstant","accentColorPrimary","buttonGhostHoverDef","buttonGhostHover","setAppearanceConstantLocal","adjustHexAlpha","buttonGhostActiveDef","buttonGhostActive","Component","button","shared","Ghost","GhostComponent","href","disabled","renderAs","type","small","fullWidth","$fullWidth","$small","as","Ghost_default","internalUseOnlyPriority5","css","zoram","H5Styled","h5","H5","internalUseOnlyPriority4","H4Styled","h4","H4","Container6","Text6","Container5","Text5","Container4","$emphasized","Text4","emphasized","gaps","alignContentMap","start","center","end","normal","Container","$gapSize","$align","gapSize","align","gapsKeys","Object","keys","alignKeys","StyledBodyRail","StyledBodyWrapper","height","MetaContent","BadgeContainer","MetaStyled","_ref4","$primaryColor","TitleStyled","_ref5","ChildrenStyled","_ref6","_ref7","Math","round","BodyRail","_ref8","meta","theme","primaryColor","title","badge"],"sourceRoot":""}